https://bugs.freedesktop.org/show_bug.cgi?id=69723 --- Comment #53 from Alexandre Demers --- 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: [] 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: [] 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: [] lock_acquire+0x72/0xa0 Dec 02 01:01:05 Xander kernel: [] mutex_lock_interruptible_nested+0x58/0x550 Dec 02 01:01:05 Xander kernel: [] ttm_bo_wait_unreserved+0x1d/0x70 [ttm] Dec 02 01:01:05 Xander kernel: [] ttm_bo_vm_fault+0x389/0x470 [ttm] Dec 02 01:01:05 Xander kernel: [] radeon_ttm_fault+0x47/0x60 [radeon] Dec 02 01:01:05 Xander kernel: [] __do_fault+0x6c/0x4c0 Dec 02 01:01:05 Xander kernel: [] handle_mm_fault+0x2e6/0xc90 Dec 02 01:01:05 Xander kernel: [] __do_page_fault+0x165/0x560 Dec 02 01:01:05 Xander kernel: [] do_page_fault+0x9/0x10 Dec 02 01:01:05 Xander kernel: [] page_fault+0x28/0x30 Dec 02 01:01:05 Xander kernel: -> #3 (&rdev->pm.mclk_lock){++++++}: Dec 02 01:01:05 Xander kernel: [] lock_acquire+0x72/0xa0 Dec 02 01:01:05 Xander kernel: [] down_write+0x31/0x60 Dec 02 01:01:05 Xander kernel: [] radeon_pm_compute_clocks+0x2ee/0x790 [radeon] Dec 02 01:01:05 Xander kernel: [] radeon_pm_init+0x7c1/0x960 [radeon] Dec 02 01:01:05 Xander kernel: [] radeon_modeset_init+0x40f/0x9a0 [radeon] Dec 02 01:01:05 Xander kernel: [] radeon_driver_load_kms+0xe0/0x210 [radeon] Dec 02 01:01:05 Xander kernel: [] drm_dev_register+0x9f/0x1d0 Dec 02 01:01:05 Xander kernel: [] drm_get_pci_dev+0x8d/0x140 Dec 02 01:01:05 Xander kernel: [] radeon_pci_probe+0x9f/0xd0 [radeon] Dec 02 01:01:05 Xander kernel: [] local_pci_probe+0x40/0xa0 Dec 02 01:01:05 Xander kernel: [] work_for_cpu_fn+0xf/0x20 Dec 02 01:01:05 Xander kernel: [] process_one_work+0x1cb/0x490 Dec 02 01:01:05 Xander kernel: [] worker_thread+0x258/0x3a0 Dec 02 01:01:05 Xander kernel: [] kthread+0xf7/0x110 Dec 02 01:01:05 Xander kernel: [] ret_from_fork+0x7c/0xb0 Dec 02 01:01:05 Xander kernel: -> #2 (&dev->struct_mutex){+.+.+.}: Dec 02 01:01:05 Xander kernel: [] lock_acquire+0x72/0xa0 Dec 02 01:01:05 Xander kernel: [] mutex_lock_nested+0x4b/0x490 Dec 02 01:01:05 Xander kernel: [] radeon_pm_compute_clocks+0x2e6/0x790 [radeon] Dec 02 01:01:05 Xander kernel: [] radeon_pm_init+0x7c1/0x960 [radeon] Dec 02 01:01:05 Xander kernel: [] radeon_modeset_init+0x40f/0x9a0 [radeon] Dec 02 01:01:05 Xander kernel: [] radeon_driver_load_kms+0xe0/0x210 [radeon] Dec 02 01:01:05 Xander kernel: [] drm_dev_register+0x9f/0x1d0 Dec 02 01:01:05 Xander kernel: [] drm_get_pci_dev+0x8d/0x140 Dec 02 01:01:05 Xander kernel: [] radeon_pci_probe+0x9f/0xd0 [radeon] Dec 02 01:01:05 Xander kernel: [] local_pci_probe+0x40/0xa0 Dec 02 01:01:05 Xander kernel: [] work_for_cpu_fn+0xf/0x20 Dec 02 01:01:05 Xander kernel: [] process_one_work+0x1cb/0x490 Dec 02 01:01:05 Xander kernel: [] worker_thread+0x258/0x3a0 Dec 02 01:01:05 Xander kernel: [] kthread+0xf7/0x110 Dec 02 01:01:05 Xander kernel: [] ret_from_fork+0x7c/0xb0 Dec 02 01:01:05 Xander kernel: -> #1 (&rdev->pm.mutex){+.+.+.}: Dec 02 01:01:05 Xander kernel: [] lock_acquire+0x72/0xa0 Dec 02 01:01:05 Xander kernel: [] mutex_lock_nested+0x4b/0x490 Dec 02 01:01:05 Xander kernel: [] radeon_dpm_enable_uvd+0x79/0xc0 [radeon] Dec 02 01:01:05 Xander kernel: [] radeon_uvd_note_usage+0xef/0x110 [radeon] Dec 02 01:01:05 Xander kernel: [] radeon_cs_ioctl+0x8f0/0x9f0 [radeon] Dec 02 01:01:05 Xander kernel: [] drm_ioctl+0x502/0x640 Dec 02 01:01:05 Xander kernel: [] radeon_drm_ioctl+0x49/0x80 [radeon] Dec 02 01:01:05 Xander kernel: [] do_vfs_ioctl+0x300/0x520 Dec 02 01:01:05 Xander kernel: [] SyS_ioctl+0x81/0xa0 Dec 02 01:01:05 Xander kernel: [] system_call_fastpath+0x1a/0x1f Dec 02 01:01:05 Xander kernel: -> #0 (reservation_ww_class_mutex){+.+.+.}: Dec 02 01:01:05 Xander kernel: [] __lock_acquire+0x195a/0x1b20 Dec 02 01:01:05 Xander kernel: [] lock_acquire+0x72/0xa0 Dec 02 01:01:05 Xander kernel: [] mutex_lock_interruptible_nested+0x58/0x550 Dec 02 01:01:05 Xander kernel: [] ttm_bo_wait_unreserved+0x39/0x70 [ttm] Dec 02 01:01:05 Xander kernel: [] ttm_bo_vm_fault+0x389/0x470 [ttm] Dec 02 01:01:05 Xander kernel: [] radeon_ttm_fault+0x47/0x60 [radeon] Dec 02 01:01:05 Xander kernel: [] __do_fault+0x6c/0x4c0 Dec 02 01:01:05 Xander kernel: [] handle_mm_fault+0x2e6/0xc90 Dec 02 01:01:05 Xander kernel: [] __do_page_fault+0x165/0x560 Dec 02 01:01:05 Xander kernel: [] do_page_fault+0x9/0x10 Dec 02 01:01:05 Xander kernel: [] 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: [] radeon_ttm_fault+0x36/0x60 [radeon] Dec 02 01:01:05 Xander kernel: #1: (&bo->wu_mutex){+.+...}, at: [] 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: [] dump_stack+0x45/0x56 Dec 02 01:01:05 Xander kernel: [] print_circular_bug+0x1f9/0x208 Dec 02 01:01:05 Xander kernel: [] __lock_acquire+0x195a/0x1b20 Dec 02 01:01:05 Xander kernel: [] lock_acquire+0x72/0xa0 Dec 02 01:01:05 Xander kernel: [] ? ttm_bo_wait_unreserved+0x39/0x70 [ttm] Dec 02 01:01:05 Xander kernel: [] mutex_lock_interruptible_nested+0x58/0x550 Dec 02 01:01:05 Xander kernel: [] ? ttm_bo_wait_unreserved+0x39/0x70 [ttm] Dec 02 01:01:05 Xander kernel: [] ? ttm_bo_wait_unreserved+0x39/0x70 [ttm] Dec 02 01:01:05 Xander kernel: [] ? ttm_bo_vm_fault+0x381/0x470 [ttm] Dec 02 01:01:05 Xander kernel: [] ttm_bo_wait_unreserved+0x39/0x70 [ttm] Dec 02 01:01:05 Xander kernel: [] ttm_bo_vm_fault+0x389/0x470 [ttm] Dec 02 01:01:05 Xander kernel: [] ? radeon_ttm_fault+0x36/0x60 [radeon] Dec 02 01:01:05 Xander kernel: [] radeon_ttm_fault+0x47/0x60 [radeon] Dec 02 01:01:05 Xander kernel: [] __do_fault+0x6c/0x4c0 Dec 02 01:01:05 Xander kernel: [] handle_mm_fault+0x2e6/0xc90 Dec 02 01:01:05 Xander kernel: [] __do_page_fault+0x165/0x560 Dec 02 01:01:05 Xander kernel: [] ? fsnotify+0x83/0x340 Dec 02 01:01:05 Xander kernel: [] ? sysret_check+0x22/0x5d Dec 02 01:01:05 Xander kernel: [] ? trace_hardirqs_off_thunk+0x3a/0x3c Dec 02 01:01:05 Xander kernel: [] do_page_fault+0x9/0x10 Dec 02 01:01:05 Xander kernel: [] page_fault+0x28/0x30 -- You are receiving this mail because: You are the assignee for the bug.