<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][SHARDS]igt@gem_persistent_relocs@forked-interruptible-thrashing|igt@gem_pipe_control_store_loop@reused-buffer - dmesg-warn - WARNING: HARDIRQ-safe -> HARDIRQ-unsafe lock order detected"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=111783">111783</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>[CI][SHARDS]igt@gem_persistent_relocs@forked-interruptible-thrashing|igt@gem_pipe_control_store_loop@reused-buffer - dmesg-warn - WARNING: HARDIRQ-safe -> HARDIRQ-unsafe lock order 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_373/fi-byt-j1900/igt@gem_persistent_relocs@forked-interruptible-thrashing.html">https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_373/fi-byt-j1900/igt@gem_persistent_relocs@forked-interruptible-thrashing.html</a>


<6> [363.115255] Console: switching to colour dummy device 80x25
<6> [363.115518] [IGT] gem_persistent_relocs: executing
<6> [363.163854] [IGT] gem_persistent_relocs: starting subtest
forked-interruptible-thrashing
<4> [363.415108] 
<4> [363.415118] =====================================================
<4> [363.415127] WARNING: HARDIRQ-safe -> HARDIRQ-unsafe lock order detected
<4> [363.415136] 5.3.0-g7ca2b123ae99-drmtip_373+ #1 Tainted: G     U           
<4> [363.415144] -----------------------------------------------------
<4> [363.415152] gem_persistent_/1229 [HC0[0]:SC0[0]:HE0:SE1] is trying to
acquire:
<4> [363.415162] 00000000fd73e298 (&(&lock->wait_lock)->rlock){+.+.}, at:
__mutex_unlock_slowpath+0x18e/0x2b0
<4> [363.415180] 
and this task is already holding:
<4> [363.415187] 00000000a68032b3 (&(&timelines->lock)->rlock){-...}, at:
i915_retire_requests+0x14c/0x2e0 [i915]
<4> [363.415311] which would create a new lock dependency:
<4> [363.415318]  (&(&timelines->lock)->rlock){-...} ->
(&(&lock->wait_lock)->rlock){+.+.}
<4> [363.415330] 
but this new dependency connects a HARDIRQ-irq-safe lock:
<4> [363.415338]  (&(&timelines->lock)->rlock){-...}
<4> [363.415340] 
... which became HARDIRQ-irq-safe at:
<4> [363.415354]   lock_acquire+0xa6/0x1c0
<4> [363.415363]   _raw_spin_lock_irqsave+0x33/0x50
<4> [363.415470]   intel_timeline_enter+0x64/0x150 [i915]
<4> [363.415566]   __engine_park+0x9d/0x320 [i915]
<4> [363.415657]   ____intel_wakeref_put_last+0x1c/0x70 [i915]
<4> [363.415746]   i915_sample+0x2ed/0x310 [i915]
<4> [363.415755]   __hrtimer_run_queues+0x11e/0x4b0
<4> [363.415762]   hrtimer_interrupt+0xea/0x250
<4> [363.415770]   smp_apic_timer_interrupt+0x96/0x280
<4> [363.415778]   apic_timer_interrupt+0xf/0x20
<4> [363.415786]   cpuidle_enter_state+0xae/0x450
<4> [363.415793]   cpuidle_enter+0x24/0x40
<4> [363.415801]   do_idle+0x1f3/0x260
<4> [363.415807]   cpu_startup_entry+0x14/0x20
<4> [363.415816]   start_kernel+0x50d/0x52f
<4> [363.415823]   secondary_startup_64+0xa4/0xb0
<4> [363.415829] 
to a HARDIRQ-irq-unsafe lock:
<4> [363.415836]  (&(&lock->wait_lock)->rlock){+.+.}
<4> [363.415838] 
... which became HARDIRQ-irq-unsafe at:
<4> [363.415851] ...
<4> [363.415853]   lock_acquire+0xa6/0x1c0
<4> [363.415863]   _raw_spin_lock+0x2a/0x40
<4> [363.415870]   __mutex_lock+0x18a/0x9b0
<4> [363.415972]   __i915_gem_free_objects+0x7b/0x4b0 [i915]
<4> [363.415981]   process_one_work+0x245/0x610
<4> [363.415988]   worker_thread+0x37/0x380
<4> [363.415996]   kthread+0x119/0x130
<4> [363.416002]   ret_from_fork+0x3a/0x50
<4> [363.416008] 
other info that might help us debug this:

<4> [363.416017]  Possible interrupt unsafe locking scenario:

<4> [363.416026]        CPU0                    CPU1
<4> [363.416032]        ----                    ----
<4> [363.416037]   lock(&(&lock->wait_lock)->rlock);
<4> [363.416044]                                local_irq_disable();
<4> [363.416051]                               
lock(&(&timelines->lock)->rlock);
<4> [363.416060]                               
lock(&(&lock->wait_lock)->rlock);
<4> [363.416069]   <Interrupt>
<4> [363.416073]     lock(&(&timelines->lock)->rlock);
<4> [363.416080] 
 *** 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>