<html>
    <head>
      <base href="https://bugs.freedesktop.org/">
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [CI][DRMTIP] igt@gem_userptr_blits@coherency-sync - dmesg-warn - WARNING: possible circular locking dependency detected"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=111744">111744</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>[CI][DRMTIP] igt@gem_userptr_blits@coherency-sync - dmesg-warn - WARNING: possible circular locking dependency detected
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>DRI
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>DRI git
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>Other
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>All
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>not set
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>not set
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>DRM/Intel
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>intel-gfx-bugs@lists.freedesktop.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>lakshminarayana.vudum@intel.com
          </td>
        </tr>

        <tr>
          <th>QA Contact</th>
          <td>intel-gfx-bugs@lists.freedesktop.org
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>intel-gfx-bugs@lists.freedesktop.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre><a href="https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_372/fi-pnv-d510/igt@gem_userptr_blits@coherency-sync.html">https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_372/fi-pnv-d510/igt@gem_userptr_blits@coherency-sync.html</a>

<6> [211.865924] Console: switching to colour dummy device 80x25
<6> [211.866296] [IGT] gem_userptr_blits: executing
<6> [211.942018] [IGT] gem_userptr_blits: starting subtest coherency-sync
<6> [211.943453] gem_userptr_bli (1252): drop_caches: 4
<6> [217.143491] perf: interrupt took too long (3996 > 3986), lowering
kernel.perf_event_max_sample_rate to 50000
<4> [246.793940] 
<4> [246.793958] ======================================================
<4> [246.793972] WARNING: possible circular locking dependency detected
<4> [246.793989] 5.3.0-gbd6c56f50d15-drmtip_372+ #1 Tainted: G     U           
<4> [246.794003] ------------------------------------------------------
<4> [246.794017] kswapd0/145 is trying to acquire lock:
<4> [246.794030] 000000003f565be6 (&dev->struct_mutex/1){+.+.}, at:
userptr_mn_invalidate_range_start+0x18f/0x220 [i915]
<4> [246.794250] 
but task is already holding lock:
<4> [246.794263] 000000001799cef9 (&anon_vma->rwsem){++++}, at:
page_lock_anon_vma_read+0xe6/0x2a0
<4> [246.794291] 
which lock already depends on the new lock.

<4> [246.794307] 
the existing dependency chain (in reverse order) is:
<4> [246.794322] 
-> #3 (&anon_vma->rwsem){++++}:
<4> [246.794344]        down_write+0x33/0x70
<4> [246.794357]        __vma_adjust+0x3d9/0x7b0
<4> [246.794370]        __split_vma+0x16a/0x180
<4> [246.794385]        mprotect_fixup+0x2a5/0x320
<4> [246.794399]        do_mprotect_pkey+0x208/0x2e0
<4> [246.794413]        __x64_sys_mprotect+0x16/0x20
<4> [246.794429]        do_syscall_64+0x55/0x1c0
<4> [246.794443]        entry_SYSCALL_64_after_hwframe+0x49/0xbe
<4> [246.794456] 
-> #2 (&mapping->i_mmap_rwsem){++++}:
<4> [246.794478]        down_write+0x33/0x70
<4> [246.794493]        unmap_mapping_pages+0x48/0x130
<4> [246.794519]        i915_vma_revoke_mmap+0x81/0x1b0 [i915]
<4> [246.794519]        i915_vma_unbind+0x11d/0x4a0 [i915]
<4> [246.794519]        i915_vma_destroy+0x31/0x300 [i915]
<4> [246.794519]        __i915_gem_free_objects+0xb8/0x4b0 [i915]
<4> [246.794519]        drm_file_free.part.0+0x1e6/0x290
<4> [246.794519]        drm_release+0xa6/0xe0
<4> [246.794519]        __fput+0xc2/0x250
<4> [246.794519]        task_work_run+0x82/0xb0
<4> [246.794519]        do_exit+0x35b/0xdb0
<4> [246.794519]        do_group_exit+0x34/0xb0
<4> [246.794519]        __x64_sys_exit_group+0xf/0x10
<4> [246.794519]        do_syscall_64+0x55/0x1c0
<4> [246.794519]        entry_SYSCALL_64_after_hwframe+0x49/0xbe
<4> [246.794519] 
-> #1 (&vm->mutex){+.+.}:
<4> [246.794519]        i915_gem_shrinker_taints_mutex+0x6d/0xe0 [i915]
<4> [246.794519]        i915_address_space_init+0x9f/0x160 [i915]
<4> [246.794519]        i915_ggtt_init_hw+0x55/0x170 [i915]
<4> [246.794519]        i915_driver_probe+0xc9f/0x1620 [i915]
<4> [246.794519]        i915_pci_probe+0x43/0x1b0 [i915]
<4> [246.794519]        pci_device_probe+0x9e/0x120
<4> [246.794519]        really_probe+0xea/0x3d0
<4> [246.794519]        driver_probe_device+0x10b/0x120
<4> [246.794519]        device_driver_attach+0x4a/0x50
<4> [246.794519]        __driver_attach+0x97/0x130
<4> [246.794519]        bus_for_each_dev+0x74/0xc0
<4> [246.794519]        bus_add_driver+0x13f/0x210
<4> [246.794519]        driver_register+0x56/0xe0
<4> [246.794519]        do_one_initcall+0x58/0x300
<4> [246.794519]        do_init_module+0x56/0x1f6
<4> [246.794519]        load_module+0x25bd/0x2a40
<4> [246.794519]        __se_sys_finit_module+0xd3/0xf0
<4> [246.794519]        do_syscall_64+0x55/0x1c0
<4> [246.794519]        entry_SYSCALL_64_after_hwframe+0x49/0xbe
<4> [246.794519] 
-> #0 (&dev->struct_mutex/1){+.+.}:
<4> [246.794519]        __lock_acquire+0x15d8/0x1e90
<4> [246.794519]        lock_acquire+0xa6/0x1c0
<4> [246.794519]        __mutex_lock+0x9d/0x9b0
<4> [246.794519]        userptr_mn_invalidate_range_start+0x18f/0x220 [i915]
<4> [246.794519]        __mmu_notifier_invalidate_range_start+0x85/0x110
<4> [246.794519]        try_to_unmap_one+0x76b/0x860
<4> [246.794519]        rmap_walk_anon+0x104/0x280
<4> [246.794519]        try_to_unmap+0xc0/0xf0
<4> [246.794519]        shrink_page_list+0x561/0xc10
<4> [246.794519]        shrink_inactive_list+0x220/0x440
<4> [246.794519]        shrink_node_memcg+0x36e/0x740
<4> [246.794519]        shrink_node+0xcb/0x490
<4> [246.794519]        balance_pgdat+0x241/0x580
<4> [246.794519]        kswapd+0x16c/0x530
<4> [246.794519]        kthread+0x119/0x130
<4> [246.794519]        ret_from_fork+0x24/0x50
<4> [246.794519] 
other info that might help us debug this:

<4> [246.794519] Chain exists of:
  &dev->struct_mutex/1 --> &mapping->i_mmap_rwsem --> &anon_vma->rwsem

<4> [246.794519]  Possible unsafe locking scenario:

<4> [246.794519]        CPU0                    CPU1
<4> [246.794519]        ----                    ----
<4> [246.794519]   lock(&anon_vma->rwsem);
<4> [246.794519]                                lock(&mapping->i_mmap_rwsem);
<4> [246.794519]                                lock(&anon_vma->rwsem);
<4> [246.794519]   lock(&dev->struct_mutex/1);
<4> [246.794519] 
 *** DEADLOCK ***</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are the assignee for the bug.</li>
          <li>You are the QA Contact for the bug.</li>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>