<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_tiled_blits@interruptible - dmesg-warn - WARNING: possible circular locking dependency detected, acquire lock: unmap_mapping_pages, holding lock: i915_gem_shrink"
href="https://bugs.freedesktop.org/show_bug.cgi?id=112114">112114</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>[CI][SHARDS] igt@gem_tiled_blits@interruptible - dmesg-warn - WARNING: possible circular locking dependency detected, acquire lock: unmap_mapping_pages, holding lock: i915_gem_shrink
</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/CI_DRM_7146/shard-kbl2/igt@gem_tiled_blits@interruptible.html">https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7146/shard-kbl2/igt@gem_tiled_blits@interruptible.html</a>
<4> [2071.218877] ======================================================
<4> [2071.218881] WARNING: possible circular locking dependency detected
<4> [2071.218885] 5.4.0-rc3-CI-CI_DRM_7146+ #1 Tainted: G U
<4> [2071.218888] ------------------------------------------------------
<4> [2071.218892] kswapd0/153 is trying to acquire lock:
<4> [2071.218895] ffff8882069f7600 (&mapping->i_mmap_rwsem){++++}, at:
unmap_mapping_pages+0x48/0x130
<4> [2071.218905]
but task is already holding lock:
<4> [2071.218908] ffff8881aff089a8 (&obj->mm.lock/1){+.+.}, at:
i915_gem_shrink+0x3c2/0x5f0 [i915]
<4> [2071.218966]
which lock already depends on the new lock.
<4> [2071.218969]
the existing dependency chain (in reverse order) is:
<4> [2071.218972]
-> #2 (&obj->mm.lock/1){+.+.}:
<4> [2071.218978] __mutex_lock+0x9a/0x9d0
<4> [2071.219017] __i915_gem_object_put_pages+0x3a/0x100 [i915]
<4> [2071.219054] userptr_mn_invalidate_range_start+0xe9/0x110 [i915]
<4> [2071.219059] __mmu_notifier_invalidate_range_start+0xa3/0x180
<4> [2071.219063] unmap_vmas+0x143/0x150
<4> [2071.219066] unmap_region+0xa3/0x100
<4> [2071.219068] __do_munmap+0x25d/0x490
<4> [2071.219071] __vm_munmap+0x6e/0xc0
<4> [2071.219073] __x64_sys_munmap+0x12/0x20
<4> [2071.219077] do_syscall_64+0x4f/0x210
<4> [2071.219080] entry_SYSCALL_64_after_hwframe+0x49/0xbe
<4> [2071.219082]
-> #1 (mmu_notifier_invalidate_range_start){+.+.}:
<4> [2071.219087] page_mkclean_one+0xda/0x210
<4> [2071.219090] rmap_walk_file+0xff/0x260
<4> [2071.219093] page_mkclean+0x9f/0xb0
<4> [2071.219096] clear_page_dirty_for_io+0xa2/0x300
<4> [2071.219100] mpage_submit_page+0x1a/0x70
<4> [2071.219103] mpage_process_page_bufs+0xe7/0x110
<4> [2071.219106] mpage_prepare_extent_to_map+0x1d2/0x2b0
<4> [2071.219109] ext4_writepages+0x592/0x1230
<4> [2071.219111] do_writepages+0x46/0xe0
<4> [2071.219115] __filemap_fdatawrite_range+0xc6/0x100
<4> [2071.219118] file_write_and_wait_range+0x3c/0x90
<4> [2071.219121] ext4_sync_file+0x154/0x500
<4> [2071.219124] do_fsync+0x33/0x60
<4> [2071.219127] __x64_sys_fsync+0xb/0x10
<4> [2071.219129] do_syscall_64+0x4f/0x210
<4> [2071.219132] entry_SYSCALL_64_after_hwframe+0x49/0xbe
<4> [2071.219135]
-> #0 (&mapping->i_mmap_rwsem){++++}:
<4> [2071.219140] __lock_acquire+0x1328/0x15d0
<4> [2071.219143] lock_acquire+0xa7/0x1c0
<4> [2071.219146] down_write+0x33/0x70
<4> [2071.219149] unmap_mapping_pages+0x48/0x130
<4> [2071.219152] truncate_cleanup_page+0xa1/0xd0
<4> [2071.219154] truncate_inode_page+0x15/0x30
<4> [2071.219157] shmem_undo_range+0x1d5/0x890
<4> [2071.219160] shmem_truncate_range+0x11/0x30
<4> [2071.219196] shmem_truncate+0x1a/0x40 [i915]
<4> [2071.219231] i915_gem_shrink+0x57a/0x5f0 [i915]
<4> [2071.219266] i915_gem_shrinker_scan+0x37/0xc0 [i915]
<4> [2071.219269] do_shrink_slab+0x131/0x3f0
<4> [2071.219272] shrink_slab+0xfd/0x2c0
<4> [2071.219275] shrink_node+0xc7/0x420
<4> [2071.219278] balance_pgdat+0x241/0x570
<4> [2071.219281] kswapd+0x167/0x530
<4> [2071.219284] kthread+0x119/0x130
<4> [2071.219287] ret_from_fork+0x3a/0x50
<4> [2071.219289]
other info that might help us debug this:
<4> [2071.219292] Chain exists of:
&mapping->i_mmap_rwsem --> mmu_notifier_invalidate_range_start -->
&obj->mm.lock/1
<4> [2071.219299] Possible unsafe locking scenario:
<4> [2071.219301] CPU0 CPU1
<4> [2071.219303] ---- ----
<4> [2071.219305] lock(&obj->mm.lock/1);
<4> [2071.219308]
lock(mmu_notifier_invalidate_range_start);
<4> [2071.219311] lock(&obj->mm.lock/1);
<4> [2071.219314] lock(&mapping->i_mmap_rwsem);
<4> [2071.219316]</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are on the CC list for the bug.</li>
<li>You are the QA Contact for the bug.</li>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>