<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@sync-unmap-cycles - dmesg-warn - WARNING: possible circular locking dependency detected"
href="https://bugs.freedesktop.org/show_bug.cgi?id=103251">103251</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>[CI] igt@gem_userptr_blits@sync-unmap-cycles - 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 new lockdep? on CI_DRM_3225 HSW-shards:
Note, a fix for <a class="bz_bug_link
bz_status_CLOSED bz_closed"
title="CLOSED FIXED - [CI][SNB, HSW, APL, KBL] igt@gem_eio@* and igt@gem_userptr_blits@* - dmesg-warn: possible circular locking dependency detected"
href="show_bug.cgi?id=102886">BUG 102886</a> was integrated to CI_DRM_3215, a fix for <a class="bz_bug_link
bz_status_CLOSED bz_closed"
title="CLOSED FIXED - [CI][SNB,HSW,APL,KBL] igt@prime_mmap@test_userptr - possible circular locking dependency detected"
href="show_bug.cgi?id=102939">BUG 102939</a>
was integrated to CI_DRM_3202.
So, this looks like a new thing, therefore I file a new bug. Feel free to
re-open and duplicate to the old ones.
I have checked dmesgs from surrounding runs where we don't hit the issues, but
there is no other splat before, so this looks more sporadic than the previous
ones.
<a href="https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_3225/shard-hsw6/igt@gem_userptr_blits@sync-unmap-cycles.html">https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_3225/shard-hsw6/igt@gem_userptr_blits@sync-unmap-cycles.html</a>
this is also after CI_DRM_3215, but I believe I had not archived <a class="bz_bug_link
bz_status_CLOSED bz_closed"
title="CLOSED FIXED - [CI][SNB,HSW,APL,KBL] igt@prime_mmap@test_userptr - possible circular locking dependency detected"
href="show_bug.cgi?id=102939">BUG 102939</a>,
before it hit. So it was missed by cibuglog.
<a href="https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_3216/shard-snb1/igt@gem_userptr_blits@map-fixed-invalidate-gup.html">https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_3216/shard-snb1/igt@gem_userptr_blits@map-fixed-invalidate-gup.html</a>
[ 20.805315] ======================================================
[ 20.805316] WARNING: possible circular locking dependency detected
[ 20.805319] 4.14.0-rc4-CI-CI_DRM_3225+ #1 Tainted: G U
[ 20.805320] ------------------------------------------------------
[ 20.805322] kworker/6:1H/1438 is trying to acquire lock:
[ 20.805324] (&mm->mmap_sem){++++}, at: [<ffffffffa01c8e01>]
__i915_gem_userptr_get_pages_worker+0x141/0x240 [i915]
[ 20.805355]
but now in release context of a crosslock acquired at the
following:
[ 20.805357] ((complete)&this_flusher.done){+.+.}, at: [<ffffffff8190b06d>]
wait_for_completion+0x1d/0x20
[ 20.805363]
which lock already depends on the new lock.
[ 20.805365]
the existing dependency chain (in reverse order) is:
[ 20.805367]
-> #1 ((complete)&this_flusher.done){+.+.}:
[ 20.805372] __lock_acquire+0x1420/0x15e0
[ 20.805374] lock_acquire+0xb0/0x200
[ 20.805376] wait_for_common+0x58/0x210
[ 20.805378] wait_for_completion+0x1d/0x20
[ 20.805381] flush_workqueue+0x1af/0x540
[ 20.805400] i915_gem_userptr_mn_invalidate_range_start+0x13c/0x150
[i915]
[ 20.805404] __mmu_notifier_invalidate_range_start+0x76/0xc0
[ 20.805406] unmap_vmas+0x7d/0xa0
[ 20.805408] unmap_region+0xae/0x110
[ 20.805410] do_munmap+0x276/0x3f0
[ 20.805411] vm_munmap+0x67/0x90
[ 20.805413] SyS_munmap+0xe/0x20
[ 20.805415] entry_SYSCALL_64_fastpath+0x1c/0xb1
[ 20.805416]
-> #0 (&mm->mmap_sem){++++}:
[ 20.805419] down_read+0x3e/0x70
[ 20.805435] __i915_gem_userptr_get_pages_worker+0x141/0x240 [i915]
[ 20.805438] process_one_work+0x233/0x660
[ 20.805440] worker_thread+0x4e/0x3b0
[ 20.805441] kthread+0x152/0x190
[ 20.805442]
other info that might help us debug this:
[ 20.805445] Possible unsafe locking scenario by crosslock:
[ 20.805447] CPU0 CPU1
[ 20.805448] ---- ----
[ 20.805449] lock(&mm->mmap_sem);
[ 20.805451] lock((complete)&this_flusher.done);
[ 20.805453] lock(&mm->mmap_sem);
[ 20.805455]
unlock((complete)&this_flusher.done);
[ 20.805457]
*** DEADLOCK ***
[ 20.805460] 2 locks held by kworker/6:1H/1438:
[ 20.805461] #0: (&(&pool->lock)->rlock){-.-.}, at: [<ffffffff8109c94c>]
process_one_work+0x2dc/0x660
[ 20.805465] #1: (&x->wait#10){....}, at: [<ffffffff810cd69d>]
complete+0x1d/0x60
[ 20.805469]
stack backtrace:
[ 20.805472] CPU: 6 PID: 1438 Comm: kworker/6:1H Tainted: G U
4.14.0-rc4-CI-CI_DRM_3225+ #1
[ 20.805474] Hardware name: MSI MS-7924/Z97M-G43(MS-7924), BIOS V1.12
02/15/2016
[ 20.805480] Call Trace:
[ 20.805483] dump_stack+0x68/0x9f
[ 20.805486] print_circular_bug+0x235/0x3c0
[ 20.805488] ? HARDIRQ_verbose+0x10/0x10
[ 20.805490] check_prev_add+0x430/0x840
[ 20.805492] ? ret_from_fork+0x27/0x40
[ 20.805494] lock_commit_crosslock+0x3ee/0x660
[ 20.805496] ? lock_commit_crosslock+0x3ee/0x660
[ 20.805498] complete+0x29/0x60
[ 20.805500] pwq_dec_nr_in_flight+0x9c/0xa0
[ 20.805502] ? _raw_spin_lock_irq+0x40/0x50
[ 20.805504] process_one_work+0x335/0x660
[ 20.805506] worker_thread+0x4e/0x3b0
[ 20.805508] kthread+0x152/0x190
[ 20.805509] ? process_one_work+0x660/0x660
[ 20.805511] ? kthread_create_on_node+0x40/0x40
[ 20.805513] ret_from_fork+0x27/0x40
[ 22.417432] random: crng init done</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>