[Bug 111870] New: [CI][SHARDS] igt at gem_userptr_blits@* - dmesg-warn - WARNING: possible circular locking dependency detected

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Tue Oct 1 07:58:02 UTC 2019


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

            Bug ID: 111870
           Summary: [CI][SHARDS]  igt at gem_userptr_blits@* -  dmesg-warn -
                    WARNING: possible circular locking dependency detected
           Product: DRI
           Version: DRI git
          Hardware: Other
                OS: All
            Status: NEW
          Severity: not set
          Priority: not set
         Component: DRM/Intel
          Assignee: intel-gfx-bugs at lists.freedesktop.org
          Reporter: lakshminarayana.vudum at intel.com
        QA Contact: intel-gfx-bugs at lists.freedesktop.org
                CC: intel-gfx-bugs at lists.freedesktop.org

https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6977/shard-tglb4/igt@gem_userptr_blits@map-fixed-invalidate-busy.html

<6> [502.459031] [IGT] gem_userptr_blits: executing
<6> [502.473146] [IGT] gem_userptr_blits: starting subtest
map-fixed-invalidate-busy
<4> [502.495825] 
<4> [502.495830] ======================================================
<4> [502.495832] WARNING: possible circular locking dependency detected
<4> [502.495835] 5.4.0-rc1-CI-CI_DRM_6977+ #1 Tainted: G     U           
<4> [502.495837] ------------------------------------------------------
<4> [502.495839] gem_userptr_bli/1289 is trying to acquire lock:
<4> [502.495842] ffff88847e3500c8 (&dev->struct_mutex/1){+.+.}, at:
userptr_mn_invalidate_range_start+0x1aa/0x200 [i915]
<4> [502.495902] 
but task is already holding lock:
<4> [502.495904] ffffffff822647c0 (mmu_notifier_invalidate_range_start){+.+.},
at: unmap_vmas+0x0/0x150
<4> [502.495910] 
which lock already depends on the new lock.

<4> [502.495912] 
the existing dependency chain (in reverse order) is:
<4> [502.495914] 
-> #3 (mmu_notifier_invalidate_range_start){+.+.}:
<4> [502.495918]        page_mkclean_one+0xda/0x210
<4> [502.495921]        rmap_walk_file+0xff/0x260
<4> [502.495923]        page_mkclean+0x9f/0xb0
<4> [502.495925]        clear_page_dirty_for_io+0xa2/0x300
<4> [502.495929]        mpage_submit_page+0x1a/0x70
<4> [502.495931]        mpage_process_page_bufs+0xe7/0x110
<4> [502.495933]        mpage_prepare_extent_to_map+0x1d2/0x2b0
<4> [502.495936]        ext4_writepages+0x592/0x1230
<4> [502.495938]        do_writepages+0x46/0xe0
<4> [502.495941]        __filemap_fdatawrite_range+0xc6/0x100
<4> [502.495943]        file_write_and_wait_range+0x3c/0x90
<4> [502.495945]        ext4_sync_file+0x154/0x500
<4> [502.495948]        do_fsync+0x33/0x60
<4> [502.495950]        __x64_sys_fsync+0xb/0x10
<4> [502.495953]        do_syscall_64+0x4f/0x210
<4> [502.495957]        entry_SYSCALL_64_after_hwframe+0x49/0xbe
<4> [502.495958] 
-> #2 (&mapping->i_mmap_rwsem){++++}:
<4> [502.495962]        down_write+0x33/0x70
<4> [502.495964]        unmap_mapping_pages+0x48/0x130
<4> [502.496001]        i915_vma_revoke_mmap+0x81/0x1b0 [i915]
<4> [502.496036]        fence_update+0xb4/0x260 [i915]
<4> [502.496073]        i915_vma_unbind+0xac/0x4a0 [i915]
<4> [502.496116]        i915_gem_object_ggtt_pin+0x1bd/0x410 [i915]
<4> [502.496153]        i915_gem_object_pin_to_display_plane+0xd1/0x130 [i915]
<4> [502.496189]        intel_pin_and_fence_fb_obj+0xb3/0x230 [i915]
<4> [502.496224]        intel_plane_pin_fb+0x3c/0xd0 [i915]
<4> [502.496258]        intel_prepare_plane_fb+0x144/0x5d0 [i915]
<4> [502.496262]        drm_atomic_helper_prepare_planes+0x85/0x110
<4> [502.496295]        intel_atomic_commit+0xc6/0x2f0 [i915]
<4> [502.496298]        drm_atomic_helper_set_config+0x61/0x90
<4> [502.496301]        drm_mode_setcrtc+0x18e/0x720
<4> [502.496303]        drm_ioctl_kernel+0xa7/0xf0
<4> [502.496305]        drm_ioctl+0x2e1/0x390
<4> [502.496308]        do_vfs_ioctl+0xa0/0x6f0
<4> [502.496310]        ksys_ioctl+0x35/0x60
<4> [502.496312]        __x64_sys_ioctl+0x11/0x20
<4> [502.496314]        do_syscall_64+0x4f/0x210
<4> [502.496316]        entry_SYSCALL_64_after_hwframe+0x49/0xbe
<4> [502.496318] 
-> #1 (&vm->mutex){+.+.}:
<4> [502.496349]        i915_gem_shrinker_taints_mutex+0x6d/0xe0 [i915]
<4> [502.496380]        i915_address_space_init+0x9f/0x160 [i915]
<4> [502.496412]        i915_ggtt_init_hw+0x55/0x170 [i915]
<4> [502.496432]        i915_driver_probe+0xc72/0x1620 [i915]
<4> [502.496453]        i915_pci_probe+0x43/0x1b0 [i915]
<4> [502.496456]        pci_device_probe+0x9e/0x120
<4> [502.496460]        really_probe+0xea/0x420
<4> [502.496462]        driver_probe_device+0x10b/0x120
<4> [502.496465]        device_driver_attach+0x4a/0x50
<4> [502.496467]        __driver_attach+0x97/0x130
<4> [502.496469]        bus_for_each_dev+0x74/0xc0
<4> [502.496472]        bus_add_driver+0x142/0x220
<4> [502.496474]        driver_register+0x56/0xf0
<4> [502.496476]        do_one_initcall+0x58/0x2ff
<4> [502.496479]        do_init_module+0x56/0x1f8
<4> [502.496481]        load_module+0x24b8/0x2a70
<4> [502.496483]        __do_sys_finit_module+0xe9/0x110
<4> [502.496485]        do_syscall_64+0x4f/0x210
<4> [502.496487]        entry_SYSCALL_64_after_hwframe+0x49/0xbe
<4> [502.496489] 
-> #0 (&dev->struct_mutex/1){+.+.}:
<4> [502.496493]        __lock_acquire+0x1328/0x15d0
<4> [502.496496]        lock_acquire+0xa7/0x1c0
<4> [502.496498]        __mutex_lock+0x9a/0x9d0
<4> [502.496531]        userptr_mn_invalidate_range_start+0x1aa/0x200 [i915]
<4> [502.496538]        __mmu_notifier_invalidate_range_start+0xa3/0x180
<4> [502.496544]        unmap_vmas+0x143/0x150
<4> [502.496550]        unmap_region+0xa3/0x100
<4> [502.496554]        __do_munmap+0x25d/0x490
<4> [502.496558]        mmap_region+0xaf/0x620
<4> [502.496560]        do_mmap+0x3d8/0x5a0
<4> [502.496563]        vm_mmap_pgoff+0x98/0xf0
<4> [502.496565]        ksys_mmap_pgoff+0x196/0x1f0
<4> [502.496567]        do_syscall_64+0x4f/0x210
<4> [502.496569]        entry_SYSCALL_64_after_hwframe+0x49/0xbe
<4> [502.496571] 
other info that might help us debug this:

<4> [502.496574] Chain exists of:
  &dev->struct_mutex/1 --> &mapping->i_mmap_rwsem -->
mmu_notifier_invalidate_range_start

<4> [502.496579]  Possible unsafe locking scenario:

<4> [502.496581]        CPU0                    CPU1
<4> [502.496583]        ----                    ----
<4> [502.496585]   lock(mmu_notifier_invalidate_range_start);
<4> [502.496587]                                lock(&mapping->i_mmap_rwsem);
<4> [502.496590]                               
lock(mmu_notifier_invalidate_range_start);
<4> [502.496593]   lock(&dev->struct_mutex/1);
<4> [502.496595] 
 *** DEADLOCK ***

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are the QA Contact for the bug.
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/intel-gfx-bugs/attachments/20191001/e5498e1c/attachment-0001.html>


More information about the intel-gfx-bugs mailing list