<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>