Bug 111892

Summary: [CI][SHARDS] igt@kms_flip@2x-flip-vs-panning - dmesg-warn - WARNING: possible circular locking dependency detected
Product: DRI Reporter: Lakshmi <lakshminarayana.vudum>
Component: DRM/IntelAssignee: Intel GFX Bugs mailing list <intel-gfx-bugs>
Status: CLOSED DUPLICATE QA Contact: Intel GFX Bugs mailing list <intel-gfx-bugs>
Severity: not set    
Priority: not set CC: intel-gfx-bugs
Version: DRI git   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: HSW i915 features: GEM/Other

Description Lakshmi 2019-10-03 11:16:31 UTC
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6989/shard-hsw5/igt@kms_flip@2x-flip-vs-panning.html

<4> [25.732321] ======================================================
<4> [25.732321] WARNING: possible circular locking dependency detected
<4> [25.732323] 5.4.0-rc1-CI-CI_DRM_6989+ #1 Tainted: G     U           
<4> [25.732323] ------------------------------------------------------
<4> [25.732324] kms_flip/1036 is trying to acquire lock:
<4> [25.732325] ffff8883eb92cce8 (
<4> [25.732327] hardirqs last disabled at (1064412): [<ffffffff8123f4b9>] __slab_alloc.isra.84.constprop.89+0x19/0x70
<4> [25.732328] &mapping->i_mmap_rwsem){++++}, at: unmap_mapping_pages+0x48/0x130
<4> [25.732332] 
but task is already holding lock:
<4> [25.732333] ffff8883f99093a0 (&vm->mutex){+.+.}, at: i915_vma_unbind+0xe6/0x4a0 [i915]
<4> [25.732366] softirqs last  enabled at (1063898): [<ffffffff81c00385>] __do_softirq+0x385/0x47f
<4> [25.732367] softirqs last disabled at (1063889): [<ffffffff810b7f4a>] irq_exit+0xba/0xc0
<4> [25.732369] 
which lock already depends on the new lock.

<4> [25.732370] 
the existing dependency chain (in reverse order) is:
<4> [25.732370] 
-> #2 (&vm->mutex){+.+.}:
<4> [25.732373]        __mutex_lock+0x9a/0x9d0
<4> [25.732402]        i915_vma_remove+0x53/0x250 [i915]
<4> [25.732431]        i915_vma_unbind+0x19c/0x4a0 [i915]
<4> [25.732485]        i915_gem_object_unbind+0x153/0x1c0 [i915]
<4> [25.732513]        userptr_mn_invalidate_range_start+0x9f/0x200 [i915]
<4> [25.732515]        __mmu_notifier_invalidate_range_start+0xa3/0x180
<4> [25.732516]        unmap_vmas+0x143/0x150
<4> [25.732517]        unmap_region+0xa3/0x100
<4> [25.732518]        __do_munmap+0x25d/0x490
<4> [25.732519]        __vm_munmap+0x6e/0xc0
<4> [25.732520]        __x64_sys_munmap+0x12/0x20
<4> [25.732521]        do_syscall_64+0x4f/0x210
<4> [25.732523]        entry_SYSCALL_64_after_hwframe+0x49/0xbe
<4> [25.732524] 
-> #1 (mmu_notifier_invalidate_range_start){+.+.}:
<4> [25.732526]        page_mkclean_one+0xda/0x210
<4> [25.732527]        rmap_walk_file+0xff/0x260
<4> [25.732528]        page_mkclean+0x9f/0xb0
<4> [25.732530]        clear_page_dirty_for_io+0xa2/0x300
<4> [25.732532]        mpage_submit_page+0x1a/0x70
<4> [25.732533]        mpage_process_page_bufs+0xe7/0x110
<4> [25.732534]        mpage_prepare_extent_to_map+0x1d2/0x2b0
<4> [25.732536]        ext4_writepages+0x592/0x1230
<4> [25.732536]        do_writepages+0x46/0xe0
<4> [25.732538]        __filemap_fdatawrite_range+0xc6/0x100
<4> [25.732548]        file_write_and_wait_range+0x3c/0x90
<4> [25.732549]        ext4_sync_file+0x154/0x500
<4> [25.732551]        do_fsync+0x33/0x60
<4> [25.732553]        __x64_sys_fsync+0xb/0x10
<4> [25.732553]        do_syscall_64+0x4f/0x210
<4> [25.732555]        entry_SYSCALL_64_after_hwframe+0x49/0xbe
<4> [25.732555] 
-> #0 (&mapping->i_mmap_rwsem){++++}:
<4> [25.732558]        __lock_acquire+0x1328/0x15d0
<4> [25.732559]        lock_acquire+0xa7/0x1c0
<4> [25.732560]        down_write+0x33/0x70
<4> [25.732561]        unmap_mapping_pages+0x48/0x130
<4> [25.732595]        i915_vma_revoke_mmap+0x81/0x1b0 [i915]
<4> [25.732637]        i915_vma_unbind+0xee/0x4a0 [i915]
<4> [25.732674]        i915_gem_object_ggtt_pin+0xee/0x430 [i915]
<4> [25.732699]        i915_gem_object_pin_to_display_plane+0xd1/0x130 [i915]
<4> [25.732728]        intel_pin_and_fence_fb_obj+0xb3/0x230 [i915]
<4> [25.732757]        intel_plane_pin_fb+0x3c/0xd0 [i915]
<4> [25.732786]        intel_prepare_plane_fb+0x144/0x5d0 [i915]
<4> [25.732788]        drm_atomic_helper_prepare_planes+0x85/0x110
<4> [25.732816]        intel_atomic_commit+0xc6/0x2f0 [i915]
<4> [25.732818]        drm_atomic_helper_set_config+0x61/0x90
<4> [25.732818]        drm_mode_setcrtc+0x18e/0x720
<4> [25.732820]        drm_ioctl_kernel+0xa7/0xf0
<4> [25.732821]        drm_ioctl+0x2e1/0x390
<4> [25.732823]        do_vfs_ioctl+0xa0/0x6f0
<4> [25.732824]        ksys_ioctl+0x35/0x60
<4> [25.732825]        __x64_sys_ioctl+0x11/0x20
<4> [25.732826]        do_syscall_64+0x4f/0x210
<4> [25.732827]        entry_SYSCALL_64_after_hwframe+0x49/0xbe
<4> [25.732828] 
other info that might help us debug this:

<4> [25.732828] Chain exists of:
  &mapping->i_mmap_rwsem --> mmu_notifier_invalidate_range_start --> &vm->mutex

<4> [25.732830]  Possible unsafe locking scenario:

<4> [25.732830]        CPU0                    CPU1
<4> [25.732831]        ----                    ----
<4> [25.732831]   lock(&vm->mutex);
<4> [25.732832]                                lock(mmu_notifier_invalidate_range_start);
<4> [25.732833]                                lock(&vm->mutex);
<4> [25.732833]   lock(&mapping->i_mmap_rwsem);
<4> [25.732834] 
 *** DEADLOCK ***
Comment 2 Chris Wilson 2019-10-03 11:19:51 UTC

*** This bug has been marked as a duplicate of bug 111891 ***
Comment 3 CI Bug Log 2019-10-04 07:12:15 UTC
The CI Bug Log issue associated to this bug has been archived.

New failures matching the above filters will not be associated to this bug anymore.

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.