Bug 101954 - WARNING: suspicious RCU usage in amdgpu_bo_list_get
Summary: WARNING: suspicious RCU usage in amdgpu_bo_list_get
Status: RESOLVED WORKSFORME
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/AMDgpu (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: Default DRI bug account
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-07-27 15:23 UTC by Yanko Kaneti
Modified: 2017-07-28 10:56 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Yanko Kaneti 2017-07-27 15:23:13 UTC
Fedora rawhide with debug config as 
http://pkgs.fedoraproject.org/cgit/rpms/kernel.git/tree/kernel-x86_64-debug.config

01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Baffin [Radeon RX 460] (rev cf)
1 DP 4k monitor

This is something that seems to've started appearing after the rcu changes in this merge window
....

[   12.958667] =============================
[   12.958678] WARNING: suspicious RCU usage
[   12.958691] 4.13.0-0.rc2.git1.1.fc27.x86_64 #1 Not tainted
[   12.958701] -----------------------------
[   12.958714] ./include/linux/rcupdate.h:297 Illegal context switch in RCU read-side critical section!
[   12.958724] 
               other info that might help us debug this:

[   12.958737] 
               rcu_scheduler_active = 2, debug_locks = 1
[   12.958749] 1 lock held by amdgpu_cs:0/1226:
[   12.958758]  #0:  (rcu_read_lock){......}, at: [<ffffffffc04ff9b5>] amdgpu_bo_list_get+0x5/0x130 [amdgpu]
[   12.958874] 
               stack backtrace:
[   12.958890] CPU: 3 PID: 1226 Comm: amdgpu_cs:0 Not tainted 4.13.0-0.rc2.git1.1.fc27.x86_64 #1
[   12.958901] Hardware name: Gigabyte Technology Co., Ltd. To be filled by O.E.M./990FXA-UD3 R5, BIOS F2 04/01/2015
[   12.958911] Call Trace:
[   12.958931]  dump_stack+0x8e/0xd6
[   12.958953]  lockdep_rcu_suspicious+0xc5/0x100
[   12.959033]  ? amdgpu_bo_list_get+0x81/0x130 [amdgpu]
[   12.959051]  ___might_sleep+0x1ad/0x250
[   12.959073]  __might_sleep+0x4a/0x80
[   12.959095]  __mutex_lock+0x59/0xa00
[   12.959110]  ? trace_hardirqs_on+0xd/0x10
[   12.959141]  ? lock_acquire+0xa3/0x1f0
[   12.959217]  ? amdgpu_bo_list_get+0x5/0x130 [amdgpu]
[   12.959243]  mutex_lock_nested+0x1b/0x20
[   12.959253]  ? mutex_lock_nested+0x1b/0x20
[   12.959321]  amdgpu_bo_list_get+0x81/0x130 [amdgpu]
[   12.959389]  amdgpu_cs_ioctl+0xcb/0x1c50 [amdgpu]
[   12.959413]  ? debug_check_no_obj_freed+0x15f/0x24a
[   12.959562]  ? amdgpu_cs_find_mapping+0xa0/0xa0 [amdgpu]
[   12.959607]  drm_ioctl_kernel+0x5d/0xb0 [drm]
[   12.959657]  drm_ioctl+0x31b/0x3d0 [drm]
[   12.959726]  ? amdgpu_cs_find_mapping+0xa0/0xa0 [amdgpu]
[   12.959767]  ? trace_hardirqs_on_caller+0xf4/0x190
[   12.959787]  ? trace_hardirqs_on+0xd/0x10
[   12.959870]  amdgpu_drm_ioctl+0x4f/0x90 [amdgpu]
[   12.959895]  do_vfs_ioctl+0xa6/0x6c0
[   12.959940]  SyS_ioctl+0x79/0x90
[   12.959968]  entry_SYSCALL_64_fastpath+0x1f/0xbe
[   12.959981] RIP: 0033:0x7fc88df4a267
[   12.959991] RSP: 002b:00007fc86a0b98b8 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
[   12.960008] RAX: ffffffffffffffda RBX: 00007fc85c000000 RCX: 00007fc88df4a267
[   12.960031] RDX: 00007fc86a0b9a10 RSI: 00000000c0186444 RDI: 000000000000000c
[   12.960040] RBP: 0000000000021000 R08: 00007fc86a0b9900 R09: 00007fc86a0b9950
[   12.960050] R10: 0000000000000002 R11: 0000000000000246 R12: 00007fc860000000
[   12.960061] R13: 0000000002ef5000 R14: 0000000000000000 R15: 0000000000000000
[   12.960287] BUG: sleeping function called from invalid context at kernel/locking/mutex.c:747
[   12.960301] in_atomic(): 1, irqs_disabled(): 0, pid: 1226, name: amdgpu_cs:0
[   12.960313] 1 lock held by amdgpu_cs:0/1226:
[   12.960323]  #0:  (rcu_read_lock){......}, at: [<ffffffffc04ff9b5>] amdgpu_bo_list_get+0x5/0x130 [amdgpu]
[   12.960422] CPU: 3 PID: 1226 Comm: amdgpu_cs:0 Not tainted 4.13.0-0.rc2.git1.1.fc27.x86_64 #1
[   12.960431] Hardware name: Gigabyte Technology Co., Ltd. To be filled by O.E.M./990FXA-UD3 R5, BIOS F2 04/01/2015
[   12.960439] Call Trace:
[   12.960453]  dump_stack+0x8e/0xd6
[   12.960470]  ___might_sleep+0x164/0x250
[   12.960492]  __might_sleep+0x4a/0x80
[   12.960515]  __mutex_lock+0x59/0xa00
[   12.960530]  ? trace_hardirqs_on+0xd/0x10
[   12.960561]  ? lock_acquire+0xa3/0x1f0
[   12.960638]  ? amdgpu_bo_list_get+0x5/0x130 [amdgpu]
[   12.960673]  mutex_lock_nested+0x1b/0x20
[   12.960686]  ? mutex_lock_nested+0x1b/0x20
[   12.960758]  amdgpu_bo_list_get+0x81/0x130 [amdgpu]
[   12.960832]  amdgpu_cs_ioctl+0xcb/0x1c50 [amdgpu]
[   12.960861]  ? debug_check_no_obj_freed+0x15f/0x24a
[   12.961043]  ? amdgpu_cs_find_mapping+0xa0/0xa0 [amdgpu]
[   12.961083]  drm_ioctl_kernel+0x5d/0xb0 [drm]
[   12.961134]  drm_ioctl+0x31b/0x3d0 [drm]
[   12.961204]  ? amdgpu_cs_find_mapping+0xa0/0xa0 [amdgpu]
[   12.961241]  ? trace_hardirqs_on_caller+0xf4/0x190
[   12.961262]  ? trace_hardirqs_on+0xd/0x10
[   12.961346]  amdgpu_drm_ioctl+0x4f/0x90 [amdgpu]
[   12.961371]  do_vfs_ioctl+0xa6/0x6c0
[   12.961415]  SyS_ioctl+0x79/0x90
[   12.961443]  entry_SYSCALL_64_fastpath+0x1f/0xbe
[   12.961455] RIP: 0033:0x7fc88df4a267
[   12.961466] RSP: 002b:00007fc86a0b98b8 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
[   12.961481] RAX: ffffffffffffffda RBX: 00007fc85c000000 RCX: 00007fc88df4a267
[   12.961488] RDX: 00007fc86a0b9a10 RSI: 00000000c0186444 RDI: 000000000000000c
[   12.961496] RBP: 0000000000021000 R08: 00007fc86a0b9900 R09: 00007fc86a0b9950
[   12.961504] R10: 0000000000000002 R11: 0000000000000246 R12: 00007fc860000000
[   12.961511] R13: 0000000002ef5000 R14: 0000000000000000 R15: 0000000000000000
Comment 1 Yanko Kaneti 2017-07-28 10:56:54 UTC
Hadn't noticed this was already brought up and fixed in a branch. Sorry fo the noise.

With brief local testing it looks fixed by b7ae412c6f7050b917d8b0bf2dadb212d740d8a5 which is already in mainline


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.