[Bug 69723] GPU lockups with kernel 3.11.0 / 3.12-rc1 when dpm=1 on r600g (Cayman)

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Mon Dec 2 15:33:05 PST 2013


https://bugs.freedesktop.org/show_bug.cgi?id=69723

--- Comment #53 from Alexandre Demers <alexandre.f.demers at gmail.com> ---
Possible circular locking dependency and a DEADLOCK. Using latest 3.13.0-rc2
(with some added printk(), so no difference from rc1) and having set
performance level to low, I've just found the following in my journal from last
night. The system never crashed nor anything, but this may be a clue pointing
at... no one else than pm.mclk...


Dec 02 01:01:05 Xander kernel: Dec 02 01:01:05 Xander kernel:
======================================================
Dec 02 01:01:05 Xander kernel: [ INFO: possible circular locking dependency
detected ]
Dec 02 01:01:05 Xander kernel: 3.13.0-rc2-VANILLA-dirty #170 Tainted: G        
C  
Dec 02 01:01:05 Xander kernel:
-------------------------------------------------------
Dec 02 01:01:05 Xander kernel: chromium/3786 is trying to acquire lock:
Dec 02 01:01:05 Xander kernel:  (reservation_ww_class_mutex){+.+.+.}, at:
[<ffffffffa00047d9>] ttm_bo_wait_unreserved+0x39/0x70 [ttm]
Dec 02 01:01:05 Xander kernel: 
                               but task is already holding lock:
Dec 02 01:01:05 Xander kernel:  (&bo->wu_mutex){+.+...}, at:
[<ffffffffa00047bd>] ttm_bo_wait_unreserved+0x1d/0x70 [ttm]
Dec 02 01:01:05 Xander kernel: 
                               which lock already depends on the new lock.
Dec 02 01:01:05 Xander kernel: 
                               the existing dependency chain (in reverse order)
is:
Dec 02 01:01:05 Xander kernel: 
                               -> #4 (&bo->wu_mutex){+.+...}:
Dec 02 01:01:05 Xander kernel:        [<ffffffff810a1a62>]
lock_acquire+0x72/0xa0
Dec 02 01:01:05 Xander kernel:        [<ffffffff8182d7f8>]
mutex_lock_interruptible_nested+0x58/0x550
Dec 02 01:01:05 Xander kernel:        [<ffffffffa00047bd>]
ttm_bo_wait_unreserved+0x1d/0x70 [ttm]
Dec 02 01:01:05 Xander kernel:        [<ffffffffa0006079>]
ttm_bo_vm_fault+0x389/0x470 [ttm]
Dec 02 01:01:05 Xander kernel:        [<ffffffffa00485c7>]
radeon_ttm_fault+0x47/0x60 [radeon]
Dec 02 01:01:05 Xander kernel:        [<ffffffff81125b4c>]
__do_fault+0x6c/0x4c0
Dec 02 01:01:05 Xander kernel:        [<ffffffff81129846>]
handle_mm_fault+0x2e6/0xc90
Dec 02 01:01:05 Xander kernel:        [<ffffffff81833455>]
__do_page_fault+0x165/0x560
Dec 02 01:01:05 Xander kernel:        [<ffffffff81833859>]
do_page_fault+0x9/0x10
Dec 02 01:01:05 Xander kernel:        [<ffffffff8182ffc8>] page_fault+0x28/0x30
Dec 02 01:01:05 Xander kernel: 
                               -> #3 (&rdev->pm.mclk_lock){++++++}:
Dec 02 01:01:05 Xander kernel:        [<ffffffff810a1a62>]
lock_acquire+0x72/0xa0
Dec 02 01:01:05 Xander kernel:        [<ffffffff8182e181>] down_write+0x31/0x60
Dec 02 01:01:05 Xander kernel:        [<ffffffffa0089b4e>]
radeon_pm_compute_clocks+0x2ee/0x790 [radeon]
Dec 02 01:01:05 Xander kernel:        [<ffffffffa008ab51>]
radeon_pm_init+0x7c1/0x960 [radeon]
Dec 02 01:01:05 Xander kernel:        [<ffffffffa005731f>]
radeon_modeset_init+0x40f/0x9a0 [radeon]
Dec 02 01:01:05 Xander kernel:        [<ffffffffa00310d0>]
radeon_driver_load_kms+0xe0/0x210 [radeon]
Dec 02 01:01:05 Xander kernel:        [<ffffffff8146a6ff>]
drm_dev_register+0x9f/0x1d0
Dec 02 01:01:05 Xander kernel:        [<ffffffff8146c53d>]
drm_get_pci_dev+0x8d/0x140
Dec 02 01:01:05 Xander kernel:        [<ffffffffa002d3ff>]
radeon_pci_probe+0x9f/0xd0 [radeon]
Dec 02 01:01:05 Xander kernel:        [<ffffffff8139e7e0>]
local_pci_probe+0x40/0xa0
Dec 02 01:01:05 Xander kernel:        [<ffffffff8107633f>]
work_for_cpu_fn+0xf/0x20
Dec 02 01:01:05 Xander kernel:        [<ffffffff810796bb>]
process_one_work+0x1cb/0x490
Dec 02 01:01:05 Xander kernel:        [<ffffffff8107a478>]
worker_thread+0x258/0x3a0
Dec 02 01:01:05 Xander kernel:        [<ffffffff81080907>] kthread+0xf7/0x110
Dec 02 01:01:05 Xander kernel:        [<ffffffff8183654c>]
ret_from_fork+0x7c/0xb0
Dec 02 01:01:05 Xander kernel: 
                               -> #2 (&dev->struct_mutex){+.+.+.}:
Dec 02 01:01:05 Xander kernel:        [<ffffffff810a1a62>]
lock_acquire+0x72/0xa0
Dec 02 01:01:05 Xander kernel:        [<ffffffff8182d35b>]
mutex_lock_nested+0x4b/0x490
Dec 02 01:01:05 Xander kernel:        [<ffffffffa0089b46>]
radeon_pm_compute_clocks+0x2e6/0x790 [radeon]
Dec 02 01:01:05 Xander kernel:        [<ffffffffa008ab51>]
radeon_pm_init+0x7c1/0x960 [radeon]
Dec 02 01:01:05 Xander kernel:        [<ffffffffa005731f>]
radeon_modeset_init+0x40f/0x9a0 [radeon]
Dec 02 01:01:05 Xander kernel:        [<ffffffffa00310d0>]
radeon_driver_load_kms+0xe0/0x210 [radeon]
Dec 02 01:01:05 Xander kernel:        [<ffffffff8146a6ff>]
drm_dev_register+0x9f/0x1d0
Dec 02 01:01:05 Xander kernel:        [<ffffffff8146c53d>]
drm_get_pci_dev+0x8d/0x140
Dec 02 01:01:05 Xander kernel:        [<ffffffffa002d3ff>]
radeon_pci_probe+0x9f/0xd0 [radeon]
Dec 02 01:01:05 Xander kernel:        [<ffffffff8139e7e0>]
local_pci_probe+0x40/0xa0
Dec 02 01:01:05 Xander kernel:        [<ffffffff8107633f>]
work_for_cpu_fn+0xf/0x20
Dec 02 01:01:05 Xander kernel:        [<ffffffff810796bb>]
process_one_work+0x1cb/0x490
Dec 02 01:01:05 Xander kernel:        [<ffffffff8107a478>]
worker_thread+0x258/0x3a0
Dec 02 01:01:05 Xander kernel:        [<ffffffff81080907>] kthread+0xf7/0x110
Dec 02 01:01:05 Xander kernel:        [<ffffffff8183654c>]
ret_from_fork+0x7c/0xb0
Dec 02 01:01:05 Xander kernel: 
                               -> #1 (&rdev->pm.mutex){+.+.+.}:
Dec 02 01:01:05 Xander kernel:        [<ffffffff810a1a62>]
lock_acquire+0x72/0xa0
Dec 02 01:01:05 Xander kernel:        [<ffffffff8182d35b>]
mutex_lock_nested+0x4b/0x490
Dec 02 01:01:05 Xander kernel:        [<ffffffffa008a069>]
radeon_dpm_enable_uvd+0x79/0xc0 [radeon]
Dec 02 01:01:05 Xander kernel:        [<ffffffffa00b238f>]
radeon_uvd_note_usage+0xef/0x110 [radeon]
Dec 02 01:01:05 Xander kernel:        [<ffffffffa0060610>]
radeon_cs_ioctl+0x8f0/0x9f0 [radeon]
Dec 02 01:01:05 Xander kernel:        [<ffffffff81464782>]
drm_ioctl+0x502/0x640
Dec 02 01:01:05 Xander kernel:        [<ffffffffa002d049>]
radeon_drm_ioctl+0x49/0x80 [radeon]
Dec 02 01:01:05 Xander kernel:        [<ffffffff81174bd0>]
do_vfs_ioctl+0x300/0x520
Dec 02 01:01:05 Xander kernel:        [<ffffffff81174e71>] SyS_ioctl+0x81/0xa0
Dec 02 01:01:05 Xander kernel:        [<ffffffff818365fd>]
system_call_fastpath+0x1a/0x1f
Dec 02 01:01:05 Xander kernel: 
                               -> #0 (reservation_ww_class_mutex){+.+.+.}:
Dec 02 01:01:05 Xander kernel:        [<ffffffff810a10fa>]
__lock_acquire+0x195a/0x1b20
Dec 02 01:01:05 Xander kernel:        [<ffffffff810a1a62>]
lock_acquire+0x72/0xa0
Dec 02 01:01:05 Xander kernel:        [<ffffffff8182d7f8>]
mutex_lock_interruptible_nested+0x58/0x550
Dec 02 01:01:05 Xander kernel:        [<ffffffffa00047d9>]
ttm_bo_wait_unreserved+0x39/0x70 [ttm]
Dec 02 01:01:05 Xander kernel:        [<ffffffffa0006079>]
ttm_bo_vm_fault+0x389/0x470 [ttm]
Dec 02 01:01:05 Xander kernel:        [<ffffffffa00485c7>]
radeon_ttm_fault+0x47/0x60 [radeon]
Dec 02 01:01:05 Xander kernel:        [<ffffffff81125b4c>]
__do_fault+0x6c/0x4c0
Dec 02 01:01:05 Xander kernel:        [<ffffffff81129846>]
handle_mm_fault+0x2e6/0xc90
Dec 02 01:01:05 Xander kernel:        [<ffffffff81833455>]
__do_page_fault+0x165/0x560
Dec 02 01:01:05 Xander kernel:        [<ffffffff81833859>]
do_page_fault+0x9/0x10
Dec 02 01:01:05 Xander kernel:        [<ffffffff8182ffc8>] page_fault+0x28/0x30
Dec 02 01:01:05 Xander kernel: 
                               other info that might help us debug this:
Dec 02 01:01:05 Xander kernel: Chain exists of:
                                 reservation_ww_class_mutex -->
&rdev->pm.mclk_lock --> &bo->wu_mutex
Dec 02 01:01:05 Xander kernel:  Possible unsafe locking scenario:
Dec 02 01:01:05 Xander kernel:        CPU0                    CPU1
Dec 02 01:01:05 Xander kernel:        ----                    ----
Dec 02 01:01:05 Xander kernel:   lock(&bo->wu_mutex);
Dec 02 01:01:05 Xander kernel:                               
lock(&rdev->pm.mclk_lock);
Dec 02 01:01:05 Xander kernel:                               
lock(&bo->wu_mutex);
Dec 02 01:01:05 Xander kernel:   lock(reservation_ww_class_mutex);
Dec 02 01:01:05 Xander kernel: 
                                *** DEADLOCK ***
Dec 02 01:01:05 Xander kernel: 2 locks held by chromium/3786:
Dec 02 01:01:05 Xander kernel:  #0:  (&rdev->pm.mclk_lock){++++++}, at:
[<ffffffffa00485b6>] radeon_ttm_fault+0x36/0x60 [radeon]
Dec 02 01:01:05 Xander kernel:  #1:  (&bo->wu_mutex){+.+...}, at:
[<ffffffffa00047bd>] ttm_bo_wait_unreserved+0x1d/0x70 [ttm]
Dec 02 01:01:05 Xander kernel: 
                               stack backtrace:
Dec 02 01:01:05 Xander kernel: CPU: 1 PID: 3786 Comm: chromium Tainted: G      
  C   3.13.0-rc2-VANILLA-dirty #170
Dec 02 01:01:05 Xander kernel: Hardware name: Gigabyte Technology Co., Ltd.
GA-990FXA-UD3/GA-990FXA-UD3, BIOS F10a 01/24/2013
Dec 02 01:01:05 Xander kernel:  ffffffff8241ade0 ffff8803e9a03a18
ffffffff81824a57 ffffffff8241af90
Dec 02 01:01:05 Xander kernel:  ffff8803e9a03a58 ffffffff8181f529
ffff8803e9a03ab0 ffff8803e5d7c6d8
Dec 02 01:01:05 Xander kernel:  0000000000000001 ffff8803e5d7c6b0
ffff8803e5d7c080 ffff8803e5d7c6d8
Dec 02 01:01:05 Xander kernel: Call Trace:
Dec 02 01:01:05 Xander kernel:  [<ffffffff81824a57>] dump_stack+0x45/0x56
Dec 02 01:01:05 Xander kernel:  [<ffffffff8181f529>]
print_circular_bug+0x1f9/0x208
Dec 02 01:01:05 Xander kernel:  [<ffffffff810a10fa>]
__lock_acquire+0x195a/0x1b20
Dec 02 01:01:05 Xander kernel:  [<ffffffff810a1a62>] lock_acquire+0x72/0xa0
Dec 02 01:01:05 Xander kernel:  [<ffffffffa00047d9>] ?
ttm_bo_wait_unreserved+0x39/0x70 [ttm]
Dec 02 01:01:05 Xander kernel:  [<ffffffff8182d7f8>]
mutex_lock_interruptible_nested+0x58/0x550
Dec 02 01:01:05 Xander kernel:  [<ffffffffa00047d9>] ?
ttm_bo_wait_unreserved+0x39/0x70 [ttm]
Dec 02 01:01:05 Xander kernel:  [<ffffffffa00047d9>] ?
ttm_bo_wait_unreserved+0x39/0x70 [ttm]
Dec 02 01:01:05 Xander kernel:  [<ffffffffa0006071>] ?
ttm_bo_vm_fault+0x381/0x470 [ttm]
Dec 02 01:01:05 Xander kernel:  [<ffffffffa00047d9>]
ttm_bo_wait_unreserved+0x39/0x70 [ttm]
Dec 02 01:01:05 Xander kernel:  [<ffffffffa0006079>]
ttm_bo_vm_fault+0x389/0x470 [ttm]
Dec 02 01:01:05 Xander kernel:  [<ffffffffa00485b6>] ?
radeon_ttm_fault+0x36/0x60 [radeon]
Dec 02 01:01:05 Xander kernel:  [<ffffffffa00485c7>] radeon_ttm_fault+0x47/0x60
[radeon]
Dec 02 01:01:05 Xander kernel:  [<ffffffff81125b4c>] __do_fault+0x6c/0x4c0
Dec 02 01:01:05 Xander kernel:  [<ffffffff81129846>]
handle_mm_fault+0x2e6/0xc90
Dec 02 01:01:05 Xander kernel:  [<ffffffff81833455>]
__do_page_fault+0x165/0x560
Dec 02 01:01:05 Xander kernel:  [<ffffffff811a0703>] ? fsnotify+0x83/0x340
Dec 02 01:01:05 Xander kernel:  [<ffffffff81836629>] ? sysret_check+0x22/0x5d
Dec 02 01:01:05 Xander kernel:  [<ffffffff8136ef6d>] ?
trace_hardirqs_off_thunk+0x3a/0x3c
Dec 02 01:01:05 Xander kernel:  [<ffffffff81833859>] do_page_fault+0x9/0x10
Dec 02 01:01:05 Xander kernel:  [<ffffffff8182ffc8>] page_fault+0x28/0x30

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20131202/3320565a/attachment.html>


More information about the dri-devel mailing list