https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_5430/shard-iclb7/igt@gem_userptr_blits@map-fixed-invalidate-overlap-gup.html <6> [1143.902698] [IGT] gem_userptr_blits: executing <6> [1143.916727] [IGT] gem_userptr_blits: starting subtest map-fixed-invalidate-overlap-gup <6> [1144.126951] userptr_mn_invalidate_range_start+0x0/0x270 [i915] callback failed with -4 in blockable context. <4> [1144.127444] <4> [1144.127448] ====================================================== <4> [1144.127451] WARNING: possible circular locking dependency detected <4> [1144.127454] 5.0.0-rc2-CI-CI_DRM_5430+ #1 Tainted: G U <4> [1144.127457] ------------------------------------------------------ <4> [1144.127459] gem_userptr_bli/2573 is trying to acquire lock: <4> [1144.127463] 00000000eafecd85 (fs_reclaim){+.+.}, at: fs_reclaim_acquire.part.25+0x0/0x30 <4> [1144.127471] but task is already holding lock: <4> [1144.127473] 000000007d5940b7 (&dev->struct_mutex/1){+.+.}, at: userptr_mn_invalidate_range_start+0x173/0x270 [i915] <4> [1144.127513] which lock already depends on the new lock. <4> [1144.127516] the existing dependency chain (in reverse order) is: <4> [1144.127519] -> #1 (&dev->struct_mutex/1){+.+.}: <4> [1144.127551] i915_address_space_init+0x53/0x130 [i915] <4> [1144.127580] i915_ggtt_init_hw+0x50/0x140 [i915] <4> [1144.127605] i915_driver_load+0xe2e/0x1590 [i915] <4> [1144.127632] i915_pci_probe+0x29/0xa0 [i915] <4> [1144.127637] pci_device_probe+0xa1/0x130 <4> [1144.127642] really_probe+0xf3/0x3e0 <4> [1144.127645] driver_probe_device+0x10a/0x120 <4> [1144.127649] __driver_attach+0xdb/0x100 <4> [1144.127653] bus_for_each_dev+0x74/0xc0 <4> [1144.127656] bus_add_driver+0x15f/0x250 <4> [1144.127660] driver_register+0x56/0xe0 <4> [1144.127664] do_one_initcall+0x58/0x2e0 <4> [1144.127667] do_init_module+0x56/0x1ea <4> [1144.127672] load_module+0x2718/0x29f0 <4> [1144.127675] __se_sys_finit_module+0xd3/0xf0 <4> [1144.127678] do_syscall_64+0x55/0x190 <4> [1144.127682] entry_SYSCALL_64_after_hwframe+0x49/0xbe <4> [1144.127685] -> #0 (fs_reclaim){+.+.}: <4> [1144.127690] fs_reclaim_acquire.part.25+0x24/0x30 <4> [1144.127695] kmem_cache_alloc+0x27/0x280 <4> [1144.127699] vm_area_alloc+0x15/0x50 <4> [1144.127702] mmap_region+0x2f4/0x620 <4> [1144.127706] do_mmap+0x3d1/0x570 <4> [1144.127710] vm_mmap_pgoff+0x98/0xf0 <4> [1144.127713] ksys_mmap_pgoff+0x191/0x1f0 <4> [1144.127716] do_syscall_64+0x55/0x190 <4> [1144.127720] entry_SYSCALL_64_after_hwframe+0x49/0xbe <4> [1144.127722] other info that might help us debug this: <4> [1144.127726] Possible unsafe locking scenario: <4> [1144.127729] CPU0 CPU1 <4> [1144.127732] ---- ---- <4> [1144.127734] lock(&dev->struct_mutex/1); <4> [1144.127737] lock(fs_reclaim); <4> [1144.127740] lock(&dev->struct_mutex/1); <4> [1144.127744] lock(fs_reclaim); <4> [1144.127746] *** DEADLOCK *** <4> [1144.127750] 2 locks held by gem_userptr_bli/2573: <4> [1144.127753] #0: 000000001619b874 (&mm->mmap_sem){++++}, at: vm_mmap_pgoff+0x6a/0xf0 <4> [1144.127759] #1: 000000007d5940b7 (&dev->struct_mutex/1){+.+.}, at: userptr_mn_invalidate_range_start+0x173/0x270 [i915] <4> [1144.127796] stack backtrace: <4> [1144.127800] CPU: 3 PID: 2573 Comm: gem_userptr_bli Tainted: G U 5.0.0-rc2-CI-CI_DRM_5430+ #1 <4> [1144.127805] Hardware name: Intel Corporation Ice Lake Client Platform/IceLake U DDR4 SODIMM PD RVP, BIOS ICLSFWR1.R00.2402.AD3.1810170014 10/17/2018 <4> [1144.127810] Call Trace: <4> [1144.127838] dump_stack+0x67/0x9b <4> [1144.127843] print_circular_bug.isra.16+0x1c8/0x2b0 <4> [1144.127848] __lock_acquire+0x183a/0x1b00 <4> [1144.127852] ? mark_held_locks+0x50/0x80 <4> [1144.127856] ? _raw_spin_unlock_irqrestore+0x39/0x60 <4> [1144.127861] ? lock_acquire+0xa6/0x1c0 <4> [1144.127864] lock_acquire+0xa6/0x1c0 <4> [1144.127868] ? free_unref_page_commit.isra.20+0xd0/0xd0 <4> [1144.127872] ? vm_area_alloc+0x15/0x50 <4> [1144.127875] fs_reclaim_acquire.part.25+0x24/0x30 <4> [1144.127879] ? free_unref_page_commit.isra.20+0xd0/0xd0 <4> [1144.127883] kmem_cache_alloc+0x27/0x280 <4> [1144.127887] vm_area_alloc+0x15/0x50 <4> [1144.127891] mmap_region+0x2f4/0x620 <4> [1144.127895] do_mmap+0x3d1/0x570 <4> [1144.127899] vm_mmap_pgoff+0x98/0xf0 <4> [1144.127904] ksys_mmap_pgoff+0x191/0x1f0 <4> [1144.127908] ? lockdep_hardirqs_off+0x79/0xd0 <4> [1144.127912] do_syscall_64+0x55/0x190 <4> [1144.127915] entry_SYSCALL_64_after_hwframe+0x49/0xbe <4> [1144.127920] RIP: 0033:0x7fd9cf55ca13 <4> [1144.127924] Code: 89 f5 41 54 41 89 d4 55 48 89 fd 53 4c 89 cb 74 56 49 89 d9 45 89 f8 45 89 f2 44 89 e2 4c 89 ee 48 89 ef b8 09 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 7d 5b 5d 41 5c 41 5d 41 5e 41 5f c3 66 2e 0f <4> [1144.127931] RSP: 002b:00007ffdf977ec98 EFLAGS: 00000206 ORIG_RAX: 0000000000000009 <4> [1144.127945] RAX: ffffffffffffffda RBX: 0000000100008000 RCX: 00007fd9cf55ca13 <4> [1144.127949] RDX: 0000000000000003 RSI: 0000000000002000 RDI: 00007fd9d067a000 <4> [1144.127952] RBP: 00007fd9d067a000 R08: 0000000000000005 R09: 0000000100008000 <4> [1144.127956] R10: 0000000000000011 R11: 0000000000000206 R12: 0000000000000003 <4> [1144.127960] R13: 0000000000002000 R14: 0000000000000011 R15: 0000000000000005 <7> [1146.739078] [drm:edp_panel_vdd_off_sync [i915]] Turning eDP port A VDD off <7> [1146.739395] [drm:edp_panel_vdd_off_sync [i915]] PP_STATUS: 0x80000008 PP_CONTROL: 0x00000067 <7> [1146.739539] [drm:intel_power_well_disable [i915]] disabling DC off <7> [1146.739684] [drm:skl_enable_dc6 [i915]] Enabling DC6 <7> [1146.739870] [drm:gen9_set_dc_state [i915]] Setting DC state from 00 to 02
The CI Bug Log issue associated to this bug has been updated. ### New filters associated * SKL ICL: igt@gem_userptr_blits@map-fixed-invalidate-* - incomplete - possible circular locking dependency detected - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_5429/shard-iclb5/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy-gup.html - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_5429/shard-iclb5/igt@gem_userptr_blits@map-fixed-invalidate-busy.html - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_5429/shard-iclb7/igt@gem_userptr_blits@map-fixed-invalidate-overlap-gup.html - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_5429/shard-iclb7/igt@gem_userptr_blits@map-fixed-invalidate-busy-gup.html - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_5429/shard-skl3/igt@gem_userptr_blits@map-fixed-invalidate-busy-gup.html - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_5429/shard-skl5/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy-gup.html - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_5429/shard-skl9/igt@gem_userptr_blits@map-fixed-invalidate-overlap-gup.html - https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_11301/shard-iclb3/igt@gem_userptr_blits@map-fixed-invalidate-busy.html - https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_11301/shard-iclb4/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy-gup.html - https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_11301/shard-iclb5/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy.html - https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_11301/shard-iclb7/igt@gem_userptr_blits@map-fixed-invalidate-gup.html - https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_11301/shard-skl10/igt@gem_userptr_blits@map-fixed-invalidate-gup.html - https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_11301/shard-skl5/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy-gup.html - https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_11301/shard-skl9/igt@gem_userptr_blits@map-fixed-invalidate-busy.html - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_5430/shard-iclb3/igt@gem_userptr_blits@map-fixed-invalidate-busy.html - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_5430/shard-iclb4/igt@gem_userptr_blits@map-fixed-invalidate-gup.html - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_5430/shard-iclb4/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy.html - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_5430/shard-iclb7/igt@gem_userptr_blits@map-fixed-invalidate-overlap-gup.html - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_5430/shard-iclb7/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy-gup.html - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_5430/shard-skl10/igt@gem_userptr_blits@map-fixed-invalidate-gup.html - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_5430/shard-skl2/igt@gem_userptr_blits@map-fixed-invalidate-overlap-gup.html - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_5430/shard-skl7/igt@gem_userptr_blits@map-fixed-invalidate-busy.html - https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_11302/shard-iclb3/igt@gem_userptr_blits@map-fixed-invalidate-overlap-gup.html - https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_11302/shard-iclb5/igt@gem_userptr_blits@map-fixed-invalidate-busy.html - https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_11302/shard-iclb6/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy-gup.html - https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_11302/shard-iclb6/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy.html - https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_11302/shard-iclb7/igt@gem_userptr_blits@map-fixed-invalidate-gup.html - https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_11302/shard-skl10/igt@gem_userptr_blits@map-fixed-invalidate-busy.html - https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_11302/shard-skl3/igt@gem_userptr_blits@map-fixed-invalidate-gup.html - https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_11302/shard-skl8/igt@gem_userptr_blits@map-fixed-invalidate-overlap-gup.html - https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_11302/shard-skl8/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy-gup.html
The CI Bug Log issue associated to this bug has been updated. ### New filters associated * SKL ICL: igt@gem_userptr_blits@sync-unmap-cycles - incomplete - lock held when returning to user space! - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_5429/shard-iclb6/igt@gem_userptr_blits@sync-unmap-cycles.html - https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_11301/shard-iclb4/igt@gem_userptr_blits@sync-unmap-cycles.html - https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_11301/shard-skl1/igt@gem_userptr_blits@sync-unmap-cycles.html - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_5430/shard-iclb5/igt@gem_userptr_blits@sync-unmap-cycles.html - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_5430/shard-skl3/igt@gem_userptr_blits@sync-unmap-cycles.html - https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_11302/shard-iclb7/igt@gem_userptr_blits@sync-unmap-cycles.html - https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_11302/shard-skl1/igt@gem_userptr_blits@sync-unmap-cycles.html
commit 9e267d286af5c5a67995128df40ca3d1f93277a6 (HEAD -> drm-intel-next-queued, drm-intel/for-linux-next, drm-intel/drm-intel-next-queued) Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Tue Jan 15 22:11:18 2019 +0000 drm/i915/userptr: Fix error handling of mutex_lock_killable() mutex_lock_killable() returns -EINTR on failure, not the anticipate bool return like trylock. (Oh no, not again.) Fixes: 484d9a844d0d ("drm/i915/userptr: Avoid struct_mutex recursion for mmu_invalidate_range_start") Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20190115221118.13304-1-chris@chris-wilson.co.uk Reviewed-by: Matthew Auld <matthew.auld@intel.com>
(In reply to Chris Wilson from comment #3) > commit 9e267d286af5c5a67995128df40ca3d1f93277a6 (HEAD -> > drm-intel-next-queued, drm-intel/for-linux-next, > drm-intel/drm-intel-next-queued) > Author: Chris Wilson <chris@chris-wilson.co.uk> > Date: Tue Jan 15 22:11:18 2019 +0000 > > drm/i915/userptr: Fix error handling of mutex_lock_killable() > > mutex_lock_killable() returns -EINTR on failure, not the anticipate bool > return like trylock. (Oh no, not again.) > > Fixes: 484d9a844d0d ("drm/i915/userptr: Avoid struct_mutex recursion for > mmu_invalidate_range_start") > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> > Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> > Link: > https://patchwork.freedesktop.org/patch/msgid/20190115221118.13304-1- > chris@chris-wilson.co.uk > Reviewed-by: Matthew Auld <matthew.auld@intel.com> Thanks, it definitely did the trick :) Closing!
*** Bug 109386 has been marked as a duplicate of this bug. ***
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.