Bug 111870

Summary: [CI][SHARDS] igt@gem_userptr_blits@* - 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: RESOLVED FIXED QA Contact: Intel GFX Bugs mailing list <intel-gfx-bugs>
Severity: major    
Priority: high CC: intel-gfx-bugs
Version: DRI git   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: ALL i915 features: GEM/Other

Description Lakshmi 2019-10-01 07:58:02 UTC
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 ***
Comment 1 CI Bug Log 2019-10-01 08:00:21 UTC
The CI Bug Log issue associated to this bug has been updated.

### New filters associated

* SNB HSW SKL KBL GLK ICL TGL: igt@gem_userptr_blits@* -  dmesg-warn - WARNING: possible circular locking dependency detected 
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6977/shard-glk1/igt@gem_userptr_blits@sync-unmap-cycles.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6977/shard-glk5/igt@gem_userptr_blits@map-fixed-invalidate-busy.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6977/shard-glk6/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6977/shard-glk7/igt@gem_userptr_blits@map-fixed-invalidate-busy-gup.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6977/shard-hsw1/igt@gem_userptr_blits@coherency-sync.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6977/shard-hsw4/igt@gem_userptr_blits@sync-unmap-cycles.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6977/shard-hsw5/igt@gem_userptr_blits@map-fixed-invalidate-busy.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6977/shard-hsw6/igt@gem_userptr_blits@map-fixed-invalidate-busy-gup.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6977/shard-hsw8/igt@gem_userptr_blits@sync-unmap.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6977/shard-iclb1/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6977/shard-iclb1/igt@gem_userptr_blits@sync-unmap-cycles.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6977/shard-iclb3/igt@gem_userptr_blits@map-fixed-invalidate-busy-gup.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6977/shard-iclb4/igt@gem_userptr_blits@map-fixed-invalidate-busy.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6977/shard-iclb5/igt@gem_userptr_blits@dmabuf-unsync.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6977/shard-iclb8/igt@gem_userptr_blits@dmabuf-sync.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6977/shard-kbl2/igt@gem_userptr_blits@map-fixed-invalidate-busy.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6977/shard-kbl3/igt@gem_userptr_blits@dmabuf-unsync.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6977/shard-kbl4/igt@gem_userptr_blits@sync-unmap-cycles.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6977/shard-kbl6/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6977/shard-skl1/igt@gem_userptr_blits@map-fixed-invalidate-busy.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6977/shard-skl10/igt@gem_userptr_blits@dmabuf-unsync.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6977/shard-skl2/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6977/shard-skl5/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy-gup.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6977/shard-skl6/igt@gem_userptr_blits@sync-unmap-cycles.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6977/shard-snb1/igt@gem_userptr_blits@coherency-sync.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6977/shard-snb2/igt@gem_userptr_blits@map-fixed-invalidate-busy.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6977/shard-snb4/igt@gem_userptr_blits@dmabuf-sync.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6977/shard-snb5/igt@gem_userptr_blits@map-fixed-invalidate-busy-gup.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6977/shard-snb6/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6977/shard-snb7/igt@gem_userptr_blits@sync-unmap-cycles.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6977/shard-tglb1/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6977/shard-tglb2/igt@gem_userptr_blits@sync-unmap-cycles.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6977/shard-tglb4/igt@gem_userptr_blits@map-fixed-invalidate-busy.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6977/shard-tglb6/igt@gem_userptr_blits@dmabuf-sync.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3515/shard-glk3/igt@gem_userptr_blits@map-fixed-invalidate-busy-gup.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3515/shard-glk6/igt@gem_userptr_blits@sync-unmap-cycles.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3515/shard-glk7/igt@gem_userptr_blits@map-fixed-invalidate-busy.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3515/shard-glk9/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy-gup.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3515/shard-hsw1/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy-gup.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3515/shard-hsw4/igt@gem_userptr_blits@map-fixed-invalidate-busy-gup.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3515/shard-hsw5/igt@gem_userptr_blits@dmabuf-unsync.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3515/shard-hsw6/igt@gem_userptr_blits@sync-unmap.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3515/shard-hsw7/igt@gem_userptr_blits@map-fixed-invalidate-busy.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3515/shard-hsw8/igt@gem_userptr_blits@sync-unmap-after-close.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3515/shard-iclb1/igt@gem_userptr_blits@map-fixed-invalidate-busy-gup.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3515/shard-iclb2/igt@gem_userptr_blits@map-fixed-invalidate-busy.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3515/shard-iclb2/igt@gem_userptr_blits@dmabuf-sync.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3515/shard-iclb3/igt@gem_userptr_blits@dmabuf-unsync.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3515/shard-iclb4/igt@gem_userptr_blits@sync-unmap-cycles.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3515/shard-kbl1/igt@gem_userptr_blits@dmabuf-sync.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3515/shard-kbl2/igt@gem_userptr_blits@dmabuf-unsync.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3515/shard-kbl4/igt@gem_userptr_blits@map-fixed-invalidate-busy-gup.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3515/shard-kbl6/igt@gem_userptr_blits@map-fixed-invalidate-busy.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3515/shard-kbl7/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy-gup.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3515/shard-snb1/igt@gem_userptr_blits@coherency-sync.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3515/shard-snb2/igt@gem_userptr_blits@sync-unmap.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3515/shard-snb4/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy-gup.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3515/shard-snb5/igt@gem_userptr_blits@sync-unmap-after-close.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3515/shard-snb6/igt@gem_userptr_blits@map-fixed-invalidate-busy.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6978/shard-glk5/igt@gem_userptr_blits@map-fixed-invalidate-busy.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6978/shard-glk7/igt@gem_userptr_blits@sync-unmap-cycles.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6978/shard-glk8/igt@gem_userptr_blits@map-fixed-invalidate-busy-gup.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6978/shard-hsw1/igt@gem_userptr_blits@map-fixed-invalidate-busy-gup.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6978/shard-hsw4/igt@gem_userptr_blits@map-fixed-invalidate-busy.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6978/shard-hsw5/igt@gem_userptr_blits@sync-unmap-cycles.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6978/shard-hsw6/igt@gem_userptr_blits@dmabuf-sync.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6978/shard-hsw7/igt@gem_userptr_blits@sync-unmap.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6978/shard-iclb1/igt@gem_userptr_blits@dmabuf-sync.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6978/shard-iclb2/igt@gem_userptr_blits@sync-unmap-cycles.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6978/shard-iclb3/igt@gem_userptr_blits@sync-unmap.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6978/shard-iclb5/igt@gem_userptr_blits@dmabuf-unsync.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6978/shard-iclb6/igt@gem_userptr_blits@map-fixed-invalidate-busy-gup.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6978/shard-iclb7/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6978/shard-iclb8/igt@gem_userptr_blits@map-fixed-invalidate-busy.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6978/shard-kbl1/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6978/shard-kbl2/igt@gem_userptr_blits@map-fixed-invalidate-busy-gup.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6978/shard-kbl3/igt@gem_userptr_blits@map-fixed-invalidate-busy.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6978/shard-kbl4/igt@gem_userptr_blits@dmabuf-unsync.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6978/shard-kbl6/igt@gem_userptr_blits@sync-unmap-cycles.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6978/shard-skl1/igt@gem_userptr_blits@sync-unmap-cycles.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6978/shard-skl2/igt@gem_userptr_blits@dmabuf-sync.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6978/shard-skl5/igt@gem_userptr_blits@sync-unmap-after-close.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6978/shard-skl5/igt@gem_userptr_blits@map-fixed-invalidate-busy-gup.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6978/shard-skl6/igt@gem_userptr_blits@dmabuf-unsync.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6978/shard-skl9/igt@gem_userptr_blits@map-fixed-invalidate-busy.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6978/shard-snb1/igt@gem_userptr_blits@dmabuf-sync.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6978/shard-snb2/igt@gem_userptr_blits@map-fixed-invalidate-busy-gup.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6978/shard-snb4/igt@gem_userptr_blits@map-fixed-invalidate-busy.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6978/shard-snb5/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6978/shard-snb6/igt@gem_userptr_blits@coherency-sync.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6978/shard-snb7/igt@gem_userptr_blits@sync-unmap-cycles.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6978/shard-tglb1/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6978/shard-tglb1/igt@gem_userptr_blits@sync-unmap-cycles.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6978/shard-tglb3/igt@gem_userptr_blits@map-fixed-invalidate-busy-gup.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6978/shard-tglb5/igt@gem_userptr_blits@dmabuf-sync.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6979/shard-glk1/igt@gem_userptr_blits@sync-unmap-cycles.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6979/shard-glk2/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6979/shard-glk3/igt@gem_userptr_blits@dmabuf-sync.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6979/shard-glk4/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy-gup.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6979/shard-hsw1/igt@gem_userptr_blits@coherency-sync.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6979/shard-hsw4/igt@gem_userptr_blits@map-fixed-invalidate-busy.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6979/shard-hsw6/igt@gem_userptr_blits@map-fixed-invalidate-busy-gup.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6979/shard-hsw7/igt@gem_userptr_blits@sync-unmap-cycles.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6979/shard-hsw8/igt@gem_userptr_blits@dmabuf-sync.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6979/shard-iclb1/igt@gem_userptr_blits@dmabuf-unsync.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6979/shard-iclb6/igt@gem_userptr_blits@map-fixed-invalidate-busy.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6979/shard-iclb6/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6979/shard-iclb7/igt@gem_userptr_blits@sync-unmap-cycles.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6979/shard-iclb8/igt@gem_userptr_blits@dmabuf-sync.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6979/shard-iclb8/igt@gem_userptr_blits@map-fixed-invalidate-busy-gup.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6979/shard-iclb8/igt@gem_userptr_blits@sync-unmap.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6979/shard-kbl1/igt@gem_userptr_blits@sync-unmap-cycles.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6979/shard-kbl2/igt@gem_userptr_blits@dmabuf-unsync.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6979/shard-kbl3/igt@gem_userptr_blits@dmabuf-sync.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6979/shard-kbl7/igt@gem_userptr_blits@map-fixed-invalidate-busy.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6979/shard-skl1/igt@gem_userptr_blits@dmabuf-unsync.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6979/shard-skl4/igt@gem_userptr_blits@sync-unmap-cycles.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6979/shard-skl5/igt@gem_userptr_blits@dmabuf-sync.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6979/shard-skl6/igt@gem_userptr_blits@map-fixed-invalidate-busy-gup.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6979/shard-skl9/igt@gem_userptr_blits@map-fixed-invalidate-busy.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6979/shard-snb1/igt@gem_userptr_blits@map-fixed-invalidate-busy.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6979/shard-snb4/igt@gem_userptr_blits@sync-unmap-cycles.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6979/shard-snb6/igt@gem_userptr_blits@dmabuf-sync.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6979/shard-snb7/igt@gem_userptr_blits@coherency-sync.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6979/shard-tglb1/igt@gem_userptr_blits@sync-unmap-cycles.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6979/shard-tglb2/igt@gem_userptr_blits@map-fixed-invalidate-busy-gup.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6979/shard-tglb4/igt@gem_userptr_blits@dmabuf-sync.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6979/shard-tglb4/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14594/shard-glk3/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14594/shard-glk4/igt@gem_userptr_blits@map-fixed-invalidate-busy.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14594/shard-glk7/igt@gem_userptr_blits@map-fixed-invalidate-busy-gup.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14594/shard-glk9/igt@gem_userptr_blits@sync-unmap-cycles.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14594/shard-hsw1/igt@gem_userptr_blits@map-fixed-invalidate-busy.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14594/shard-hsw4/igt@gem_userptr_blits@sync-unmap-cycles.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14594/shard-hsw6/igt@gem_userptr_blits@dmabuf-sync.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14594/shard-hsw7/igt@gem_userptr_blits@dmabuf-unsync.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14594/shard-hsw8/igt@gem_userptr_blits@map-fixed-invalidate-busy-gup.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14594/shard-iclb1/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14594/shard-iclb4/igt@gem_userptr_blits@dmabuf-sync.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14594/shard-iclb4/igt@gem_userptr_blits@dmabuf-unsync.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14594/shard-iclb6/igt@gem_userptr_blits@sync-unmap-cycles.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14594/shard-iclb8/igt@gem_userptr_blits@map-fixed-invalidate-busy.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14594/shard-iclb8/igt@gem_userptr_blits@map-fixed-invalidate-busy-gup.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14594/shard-kbl2/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14594/shard-kbl2/igt@gem_userptr_blits@sync-unmap-cycles.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14594/shard-kbl6/igt@gem_userptr_blits@map-fixed-invalidate-busy.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14594/shard-kbl7/igt@gem_userptr_blits@dmabuf-unsync.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14594/shard-skl4/igt@gem_userptr_blits@sync-unmap-cycles.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14594/shard-skl5/igt@gem_userptr_blits@map-fixed-invalidate-busy-gup.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14594/shard-skl7/igt@gem_userptr_blits@dmabuf-sync.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14594/shard-skl9/igt@gem_userptr_blits@dmabuf-unsync.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14594/shard-snb1/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14594/shard-snb1/igt@gem_userptr_blits@map-fixed-invalidate-busy-gup.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14594/shard-snb2/igt@gem_userptr_blits@sync-unmap-cycles.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14594/shard-snb4/igt@gem_userptr_blits@coherency-sync.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14594/shard-snb5/igt@gem_userptr_blits@map-fixed-invalidate-busy.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14594/shard-snb6/igt@gem_userptr_blits@dmabuf-sync.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14594/shard-snb7/igt@gem_userptr_blits@sync-unmap-after-close.html
Comment 2 Chris Wilson 2019-10-01 08:01:37 UTC
https://patchwork.freedesktop.org/series/67349/
Comment 3 CI Bug Log 2019-10-01 08:03:52 UTC
A CI Bug Log filter associated to this bug has been updated:

{- SNB HSW SKL KBL GLK ICL TGL: igt@gem_userptr_blits@* -  dmesg-warn - WARNING: possible circular locking dependency detected  -}
{+ All machines: igt@gem_userptr_blits@* -  dmesg-warn - WARNING: possible circular locking dependency detected  +}


  No new failures caught with the new filter
Comment 4 Chris Wilson 2019-10-02 09:43:33 UTC
commit a4311745bba9763e3c965643d4531bd5765b0513 (HEAD -> drm-intel-next-queued, 
drm-intel/drm-intel-next-queued)
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sat Sep 28 09:25:46 2019 +0100

    drm/i915/userptr: Never allow userptr into the mappable GGTT
    
    Daniel Vetter uncovered a nasty cycle in using the mmu-notifiers to
    invalidate userptr objects which also happen to be pulled into GGTT
    mmaps. That is when we unbind the userptr object (on mmu invalidation),
    we revoke all CPU mmaps, which may then recurse into mmu invalidation.
    
    We looked for ways of breaking the cycle, but the revocation on
    invalidation is required and cannot be avoided. The only solution we
    could see was to not allow such GGTT bindings of userptr objects in the
    first place. In practice, no one really wants to use a GGTT mmapping of
    a CPU pointer...
Comment 5 CI Bug Log 2019-10-03 10:27:28 UTC
A CI Bug Log filter associated to this bug has been updated:

{- All machines: igt@gem_userptr_blits@* -  dmesg-warn - WARNING: possible circular locking dependency detected  -}
{+ All machines: igt@gem_userptr_blits@* -  dmesg-warn - WARNING: possible circular locking dependency detected  +}

New failures caught by the filter:

  * https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5210/shard-skl1/igt@gem_userptr_blits@map-fixed-invalidate-overlap-gup.html

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.