<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] igt@gem_userptr_blits@map-fixed-invalidate-gup - dmesg-warn: WARNING: possible circular locking dependency detected"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=104209">104209</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>[CI] igt@gem_userptr_blits@map-fixed-invalidate-gup - 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>normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>medium
          </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>marta.lofstedt@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/CI_DRM_3486/shard-hsw1/igt@gem_userptr_blits@map-fixed-invalidate-gup.html">https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_3486/shard-hsw1/igt@gem_userptr_blits@map-fixed-invalidate-gup.html</a>

[  243.384464] ======================================================
[  243.384466] WARNING: possible circular locking dependency detected
[  243.384468] 4.15.0-rc2-CI-CI_DRM_3486+ #1 Tainted: G     U          
[  243.384470] ------------------------------------------------------
[  243.384472] kworker/6:2/222 is trying to acquire lock:
[  243.384474]  ((wq_completion)"i915-userptr-release"){+.+.}, at:
[<00000000d295be80>] flush_workqueue+0x172/0x500
[  243.384480] 
               but task is already holding lock:
[  243.384482]  (&mapping->i_mmap_rwsem){++++}, at: [<00000000d538f896>]
unmap_mapping_range+0x52/0x110
[  243.384488] 
               which lock already depends on the new lock.

[  243.384491] 
               the existing dependency chain (in reverse order) is:
[  243.384493] 
               -> #3 (&mapping->i_mmap_rwsem){++++}:
[  243.384499]        down_write+0x33/0x60
[  243.384501]        unmap_mapping_range+0x52/0x110
[  243.384522]        i915_vma_revoke_mmap+0x7a/0x160 [i915]
[  243.384540]        fence_update+0x1a1/0x3c0 [i915]
[  243.384560]        i915_vma_unbind+0x3f8/0x780 [i915]
[  243.384578]        i915_vma_close+0x51/0x90 [i915]
[  243.384596]        __i915_gem_free_objects+0xcb/0x540 [i915]
[  243.384613]        __i915_gem_free_work+0x68/0x90 [i915]
[  243.384616]        process_one_work+0x227/0x650
[  243.384618]        worker_thread+0x48/0x3a0
[  243.384620]        kthread+0x173/0x1b0
[  243.384622]        ret_from_fork+0x24/0x30
[  243.384623] 
               -> #2 (&dev->struct_mutex){+.+.}:
[  243.384628]        __mutex_lock+0x81/0x9b0
[  243.384646]        cancel_userptr+0x7c/0xf0 [i915]
[  243.384648]        process_one_work+0x227/0x650
[  243.384650]        worker_thread+0x48/0x3a0
[  243.384652]        kthread+0x173/0x1b0
[  243.384654]        ret_from_fork+0x24/0x30
[  243.384656] 
               -> #1 ((work_completion)(&mo->work)){+.+.}:
[  243.384660]        process_one_work+0x1fa/0x650
[  243.384662]        worker_thread+0x48/0x3a0
[  243.384663]        kthread+0x173/0x1b0
[  243.384665]        ret_from_fork+0x24/0x30
[  243.384666] 
               -> #0 ((wq_completion)"i915-userptr-release"){+.+.}:
[  243.384672]        lock_acquire+0xaf/0x200
[  243.384674]        wait_for_common+0x54/0x210
[  243.384676]        flush_workqueue+0x172/0x500
[  243.384696]        i915_gem_userptr_mn_invalidate_range_start+0x133/0x190
[i915]
[  243.384699]        __mmu_notifier_invalidate_range_start+0x73/0xb0
[  243.384702]        zap_page_range_single+0xcc/0xe0
[  243.384704]        unmap_mapping_range+0xe9/0x110
[  243.384723]        __i915_gem_object_release_mmap+0xd9/0x100 [i915]
[  243.384742]        i915_gem_runtime_suspend+0x30/0xb0 [i915]
[  243.384758]        intel_runtime_suspend+0x67/0x260 [i915]
[  243.384761]        pci_pm_runtime_suspend+0x4d/0x160
[  243.384764]        __rpm_callback+0xb1/0x1e0
[  243.384766]        rpm_callback+0x1a/0x70
[  243.384768]        rpm_suspend+0x114/0x700
[  243.384770]        pm_runtime_work+0x6e/0xb0
[  243.384772]        process_one_work+0x227/0x650
[  243.384774]        worker_thread+0x48/0x3a0
[  243.384776]        kthread+0x173/0x1b0
[  243.384778]        ret_from_fork+0x24/0x30
[  243.384780] 
               other info that might help us debug this:

[  243.384783] Chain exists of:
                 (wq_completion)"i915-userptr-release" --> &dev->struct_mutex
--> &mapping->i_mmap_rwsem

[  243.384789]  Possible unsafe locking scenario:

[  243.384791]        CPU0                    CPU1
[  243.384792]        ----                    ----
[  243.384794]   lock(&mapping->i_mmap_rwsem);
[  243.384796]                                lock(&dev->struct_mutex);
[  243.384798]                                lock(&mapping->i_mmap_rwsem);
[  243.384801]   lock((wq_completion)"i915-userptr-release");
[  243.384803] 
                *** DEADLOCK ***

[  243.384806] 4 locks held by kworker/6:2/222:
[  243.384807]  #0:  ((wq_completion)"pm"){+.+.}, at: [<000000001855b359>]
process_one_work+0x199/0x650
[  243.384812]  #1:  ((work_completion)(&dev->power.work)){+.+.}, at:
[<000000001855b359>] process_one_work+0x199/0x650
[  243.384817]  #2:  (&mapping->i_mmap_rwsem){++++}, at: [<00000000d538f896>]
unmap_mapping_range+0x52/0x110
[  243.384822]  #3:  (srcu){....}, at: [<000000009d860dbe>]
__mmu_notifier_invalidate_range_start+0x0/0xb0
[  243.384826] 
               stack backtrace:
[  243.384829] CPU: 6 PID: 222 Comm: kworker/6:2 Tainted: G     U          
4.15.0-rc2-CI-CI_DRM_3486+ #1
[  243.384832] Hardware name: MSI MS-7924/Z97M-G43(MS-7924), BIOS V1.12
02/15/2016
[  243.384835] Workqueue: pm pm_runtime_work
[  243.384837] Call Trace:
[  243.384841]  dump_stack+0x5f/0x86
[  243.384844]  print_circular_bug+0x230/0x3b0
[  243.384847]  check_prev_add+0x439/0x7b0
[  243.384849]  ? lockdep_init_map_crosslock+0x20/0x20
[  243.384852]  ? lockdep_init_map_crosslock+0x20/0x20
[  243.384855]  ? __lock_acquire+0x1385/0x15a0
[  243.384858]  __lock_acquire+0x1385/0x15a0
[  243.384861]  lock_acquire+0xaf/0x200
[  243.384863]  ? flush_workqueue+0x172/0x500
[  243.384866]  wait_for_common+0x54/0x210
[  243.384868]  ? flush_workqueue+0x172/0x500
[  243.384870]  ? __mutex_unlock_slowpath+0x38/0x270
[  243.384873]  flush_workqueue+0x172/0x500
[  243.384894]  ? i915_gem_userptr_mn_invalidate_range_start+0x120/0x190 [i915]
[  243.384915]  ? i915_gem_userptr_mn_invalidate_range_start+0x133/0x190 [i915]
[  243.384936]  i915_gem_userptr_mn_invalidate_range_start+0x133/0x190 [i915]
[  243.384939]  __mmu_notifier_invalidate_range_start+0x73/0xb0
[  243.384943]  ? pci_pm_runtime_resume+0x90/0x90
[  243.384945]  zap_page_range_single+0xcc/0xe0
[  243.384948]  ? unmap_mapping_range+0x52/0x110
[  243.384951]  unmap_mapping_range+0xe9/0x110
[  243.384970]  __i915_gem_object_release_mmap+0xd9/0x100 [i915]
[  243.384989]  i915_gem_runtime_suspend+0x30/0xb0 [i915]
[  243.385005]  intel_runtime_suspend+0x67/0x260 [i915]
[  243.385008]  pci_pm_runtime_suspend+0x4d/0x160
[  243.385011]  __rpm_callback+0xb1/0x1e0
[  243.385013]  rpm_callback+0x1a/0x70
[  243.385016]  ? pci_pm_runtime_resume+0x90/0x90
[  243.385018]  rpm_suspend+0x114/0x700
[  243.385020]  pm_runtime_work+0x6e/0xb0
[  243.385023]  process_one_work+0x227/0x650
[  243.385026]  worker_thread+0x48/0x3a0
[  243.385028]  kthread+0x173/0x1b0
[  243.385030]  ? process_one_work+0x650/0x650
[  243.385032]  ? _kthread_create_on_node+0x30/0x30
[  243.385034]  ret_from_fork+0x24/0x30</pre>
        </div>
      </p>


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

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