Bug 208135 - AMDGPU sleep with preemption disabled
Summary: AMDGPU sleep with preemption disabled
Status: NEW
Alias: None
Product: Drivers
Classification: Unclassified
Component: Video(DRI - non Intel) (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: drivers_video-dri
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-06-11 03:08 UTC by yshuiv7
Modified: 2020-06-11 03:31 UTC (History)
0 users

See Also:
Kernel Version: 5.7.2
Subsystem:
Regression: No
Bisected commit-id:


Attachments

Description yshuiv7 2020-06-11 03:08:07 UTC
Discovered by lockdep:

[   39.797936] BUG: sleeping function called from invalid context at mm/slab.h:567
[   39.799669] in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 1894, name: Xorg.wrap
[   39.801379] INFO: lockdep is turned off.
[   39.803079] Preemption disabled at:
[   39.803084] [<ffffffffad67ff2e>] kernel_fpu_begin+0xe/0x70
[   39.806304] CPU: 22 PID: 1894 Comm: Xorg.wrap Tainted: P        W  O    T 5.7.2-local+ #15
[   39.807849] Hardware name: System manufacturer System Product Name/ROG STRIX X470-F GAMING, BIOS 5406 11/13/2019
[   39.809341] Call Trace:
[   39.810828]  show_stack+0x3e/0x40
[   39.812311]  dump_stack+0x7a/0xaa
[   39.813802]  ___might_sleep.cold+0xfa/0x10b
[   39.815280]  __might_sleep+0x50/0x90
[   39.816775]  __kmalloc+0x1d6/0x230
[   39.818249]  ? dcn20_validate_bandwidth_internal+0x6d/0x260
[   39.819722]  dcn20_validate_bandwidth_internal+0x6d/0x260
[   39.821217]  dcn20_validate_bandwidth_fp+0x37/0xc0
[   39.822698]  dcn20_validate_bandwidth+0x2f/0x50
[   39.824172]  dc_validate_global_state+0x293/0x320
[   39.825654]  amdgpu_dm_atomic_check+0x475/0x7a0
[   39.827130]  drm_atomic_check_only+0x1e3/0x370
[   39.828595]  drm_atomic_commit+0x1c/0x60
[   39.830052]  drm_client_modeset_commit_atomic+0x1e4/0x250
[   39.831538]  drm_client_modeset_commit_locked+0x58/0x90
[   39.832989]  drm_client_modeset_commit+0x2a/0x50
[   39.834455]  drm_fb_helper_lastclose+0x56/0xa0
[   39.835913]  amdgpu_driver_lastclose_kms+0x9/0x10
[   39.837372]  drm_release+0xd7/0x110
[   39.838821]  __fput+0xf2/0x280
[   39.840255]  ____fput+0x10/0x20
[   39.841667]  task_work_run+0x62/0xa0
[   39.843027]  exit_to_usermode_loop+0xa7/0xb0
[   39.844343]  prepare_exit_to_usermode+0xd6/0x100
[   39.845586]  do_syscall_64+0x99/0x180
[   39.846794]  entry_SYSCALL_64_after_hwframe+0x49/0xb3
[   39.847994] RIP: 0033:0x7fcaa32852f7
[   39.849169] Code: ff e8 6d e5 01 00 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00 f3 0f 1e fa 64 8b 04 25 18 00 00 00 85 c0 75 10 b8 03 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 41 c3 48 83 ec 18 89 7c 24 0c e8 13 4d f9 ff
[   39.850483] RSP: 002b:00007ffc0988ac68 EFLAGS: 00000246 ORIG_RAX: 0000000000000003
[   39.851802] RAX: 0000000000000000 RBX: 0000000000000001 RCX: 00007fcaa32852f7
[   39.853111] RDX: 00007ffc0988ac80 RSI: 00000000c04064a0 RDI: 0000000000000003
[   39.854431] RBP: 00007ffc0988acd0 R08: 0000000000000000 R09: 00007ffc0988aaf0
[   39.855737] R10: 000055c3f212f64b R11: 0000000000000246 R12: 0000000000000003
[   39.857039] R13: 0000000000000001 R14: 0000000000000000 R15: 00007ffc0988ac80
[   47.693575] BUG: sleeping function called from invalid context at mm/slab.h:567
[   47.693581] in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 1894, name: Xorg
[   47.693584] INFO: lockdep is turned off.
[   47.693585] Preemption disabled at:
[   47.693590] [<ffffffffad67ff2e>] kernel_fpu_begin+0xe/0x70
[   47.693595] CPU: 23 PID: 1894 Comm: Xorg Tainted: P        W  O    T 5.7.2-local+ #15
[   47.693598] Hardware name: System manufacturer System Product Name/ROG STRIX X470-F GAMING, BIOS 5406 11/13/2019
[   47.693600] Call Trace:
[   47.693606]  show_stack+0x3e/0x40
[   47.693611]  dump_stack+0x7a/0xaa
[   47.693615]  ___might_sleep.cold+0xfa/0x10b
[   47.693619]  __might_sleep+0x50/0x90
[   47.693624]  __kmalloc+0x1d6/0x230
[   47.693628]  ? dcn20_validate_bandwidth_internal+0x6d/0x260
[   47.693632]  dcn20_validate_bandwidth_internal+0x6d/0x260
[   47.693636]  dcn20_validate_bandwidth_fp+0x37/0xc0
[   47.693640]  dcn20_validate_bandwidth+0x2f/0x50
[   47.693644]  dc_validate_global_state+0x293/0x320
[   47.693649]  amdgpu_dm_atomic_check+0x475/0x7a0
[   47.693654]  drm_atomic_check_only+0x1e3/0x370
[   47.693658]  drm_atomic_commit+0x1c/0x60
[   47.693662]  drm_atomic_helper_set_config+0x80/0xd0
[   47.693666]  drm_mode_setcrtc+0x1fa/0x7d0
[   47.693675]  ? drm_mode_getcrtc+0x1b0/0x1b0
[   47.693679]  drm_ioctl_kernel+0x96/0xe0
[   47.693684]  drm_ioctl+0x22f/0x3c8
[   47.693686]  ? drm_mode_getcrtc+0x1b0/0x1b0
[   47.693694]  ? _raw_spin_unlock_irqrestore+0x38/0x60
[   47.693698]  amdgpu_drm_ioctl+0x55/0x90
[   47.693703]  ksys_ioctl+0x97/0xb0
[   47.693707]  __x64_sys_ioctl+0x15/0x20
[   47.693710]  do_syscall_64+0x5e/0x180
[   47.693714]  entry_SYSCALL_64_after_hwframe+0x49/0xb3
[   47.693717] RIP: 0033:0x7fcc6ea748eb
[   47.693720] Code: 0f 1e fa 48 8b 05 a5 95 0c 00 64 c7 00 26 00 00 00 48 c7 c0 ff ff ff ff c3 66 0f 1f 44 00 00 f3 0f 1e fa b8 10 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d 75 95 0c 00 f7 d8 64 89 01 48
[   47.693722] RSP: 002b:00007ffddc4aa4f8 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
[   47.693725] RAX: ffffffffffffffda RBX: 00007ffddc4aa530 RCX: 00007fcc6ea748eb
[   47.693727] RDX: 00007ffddc4aa530 RSI: 00000000c06864a2 RDI: 000000000000000f
[   47.693729] RBP: 00000000c06864a2 R08: 0000000000000000 R09: 000055fa7b8ba8f0
[   47.693731] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
[   47.693733] R13: 000000000000000f R14: 000055fa7acbcac0 R15: 0000000000000000
Comment 1 yshuiv7 2020-06-11 03:29:11 UTC
And one more:

[    2.075377] BUG: sleeping function called from invalid context at mm/slab.h:567
[    2.075391] in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 1, name: swapper/0
[    2.075406] 1 lock held by swapper/0/1:
[    2.075414]  #0: ffff9dc3472fe228 (&dev->mutex){....}-{3:3}, at: device_driver_attach+0x48/0xc0
[    2.075435] Preemption disabled at:
[    2.075437] [<ffffffff86a7ff2e>] kernel_fpu_begin+0xe/0x70
[    2.075456] CPU: 9 PID: 1 Comm: swapper/0 Tainted: G                T 5.7.2-local+ #16
[    2.075471] Hardware name: System manufacturer System Product Name/ROG STRIX X470-F GAMING, BIOS 5406 11/13/2019
[    2.075489] Call Trace:
[    2.075497]  show_stack+0x3e/0x40
[    2.075507]  dump_stack+0x7a/0xaa
[    2.075516]  ___might_sleep.cold+0xfa/0x10b
[    2.075528]  __might_sleep+0x50/0x90
[    2.075538]  kmem_cache_alloc_trace+0x1b1/0x200
[    2.075549]  ? dcn20_clock_source_create+0x42/0xb0
[    2.075560]  dcn20_clock_source_create+0x42/0xb0
[    2.075572]  dcn20_resource_construct+0x17b/0xb00
[    2.075583]  ? rcu_read_lock_sched_held+0x5a/0xa0
[    2.075594]  ? trace_kmalloc+0x105/0x130
[    2.075605]  ? kmem_cache_alloc_trace+0xec/0x200
[    2.075617]  dcn20_create_resource_pool+0x47/0x70
[    2.075628]  dc_create_resource_pool+0x142/0x170
[    2.075639]  ? dal_gpio_service_create+0x98/0x120
[    2.075650]  dc_construct+0x1b1/0x360
[    2.075660]  dc_create+0x48/0x120
[    2.075669]  amdgpu_dm_init.isra.0+0x155/0x1b0
[    2.075685]  dm_hw_init+0xe/0x20
[    2.075695]  amdgpu_device_ip_init+0x2b5/0x33e
[    2.075706]  amdgpu_device_init.cold+0x74f/0x9f3
[    2.075717]  amdgpu_driver_load_kms+0x51/0x180
[    2.075728]  amdgpu_pci_probe+0xbb/0x140
[    2.075739]  pci_device_probe+0xf2/0x160
[    2.075750]  really_probe+0xf5/0x420
[    2.075760]  driver_probe_device+0xc2/0x110
[    2.075770]  device_driver_attach+0xb9/0xc0
[    2.075781]  __driver_attach+0x94/0x150
[    2.075791]  ? device_driver_attach+0xc0/0xc0
[    2.075801]  bus_for_each_dev+0x6b/0xa0
[    2.075811]  driver_attach+0x19/0x20
[    2.075820]  bus_add_driver+0x149/0x200
[    2.075830]  driver_register+0x8c/0xe0
[    2.075840]  __pci_register_driver+0x6b/0x80
[    2.075850]  amdgpu_init+0x9c/0xbc
[    2.075859]  ? drm_sched_fence_slab_init+0x7e/0x7e
[    2.075870]  do_one_initcall+0x5c/0x330
[    2.075880]  ? rcu_read_lock_sched_held+0x5a/0xa0
[    2.075893]  do_initcalls+0x104/0x162
[    2.075903]  kernel_init_freeable+0x193/0x235
[    2.075913]  ? rest_init+0x241/0x241
[    2.075923]  kernel_init+0x9/0xff
[    2.075931]  ret_from_fork+0x27/0x50
Comment 2 yshuiv7 2020-06-11 03:31:31 UTC
And another one:

[    2.071364] BUG: sleeping function called from invalid context at mm/slab.h:567
[    2.071379] in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 1, name: swapper/0
[    2.071393] 1 lock held by swapper/0/1:
[    2.071402]  #0: ffff953e072b7228 (&dev->mutex){....}-{3:3}, at: device_driver_attach+0x48/0xc0
[    2.071422] Preemption disabled at:
[    2.071424] [<ffffffffb8a7ff2e>] kernel_fpu_begin+0xe/0x70
[    2.071443] CPU: 18 PID: 1 Comm: swapper/0 Tainted: G                T 5.7.2-local+ #17
[    2.071458] Hardware name: System manufacturer System Product Name/ROG STRIX X470-F GAMING, BIOS 5406 11/13/2019
[    2.071476] Call Trace:
[    2.071485]  show_stack+0x3e/0x40
[    2.071494]  dump_stack+0x7a/0xaa
[    2.071504]  ___might_sleep.cold+0xfa/0x10b
[    2.071515]  __might_sleep+0x50/0x90
[    2.071526]  kmem_cache_alloc_trace+0x1b1/0x200
[    2.071536]  ? dccg2_create+0x3a/0x70
[    2.071546]  dccg2_create+0x3a/0x70
[    2.071556]  dcn20_resource_construct+0x2e2/0xb00
[    2.071567]  ? rcu_read_lock_sched_held+0x5a/0xa0
[    2.071578]  ? trace_kmalloc+0x105/0x130
[    2.071589]  ? kmem_cache_alloc_trace+0xec/0x200
[    2.071600]  dcn20_create_resource_pool+0x47/0x70
[    2.071612]  dc_create_resource_pool+0x142/0x170
[    2.071622]  ? dal_gpio_service_create+0x98/0x120
[    2.071633]  dc_construct+0x1b1/0x360
[    2.071644]  dc_create+0x48/0x120
[    2.071653]  amdgpu_dm_init.isra.0+0x155/0x1b0
[    2.071669]  dm_hw_init+0xe/0x20
[    2.071678]  amdgpu_device_ip_init+0x2b5/0x33e
[    2.071690]  amdgpu_device_init.cold+0x74f/0x9f3
[    2.071701]  amdgpu_driver_load_kms+0x51/0x180
[    2.071711]  amdgpu_pci_probe+0xbb/0x140
[    2.071722]  pci_device_probe+0xf2/0x160
[    2.071733]  really_probe+0xf5/0x420
[    2.071743]  driver_probe_device+0xc2/0x110
[    2.071754]  device_driver_attach+0xb9/0xc0
[    2.071764]  __driver_attach+0x94/0x150
[    2.071774]  ? device_driver_attach+0xc0/0xc0
[    2.071784]  bus_for_each_dev+0x6b/0xa0
[    2.071794]  driver_attach+0x19/0x20
[    2.071803]  bus_add_driver+0x149/0x200
[    2.071813]  driver_register+0x8c/0xe0
[    2.071823]  __pci_register_driver+0x6b/0x80
[    2.071834]  amdgpu_init+0x9c/0xbc
[    2.071842]  ? drm_sched_fence_slab_init+0x7e/0x7e
[    2.071853]  do_one_initcall+0x5c/0x330
[    2.071863]  ? rcu_read_lock_sched_held+0x5a/0xa0
[    2.071876]  do_initcalls+0x104/0x162
[    2.071886]  kernel_init_freeable+0x193/0x235
[    2.071897]  ? rest_init+0x241/0x241
[    2.071906]  kernel_init+0x9/0xff
[    2.071914]  ret_from_fork+0x27/0x50

Note You need to log in before you can comment on or make changes to this bug.