Summary: | [BAT] [KBL] nvme driver is using a mutex inside an rcu callback causing igt@gem_exec_suspend@basic-s4-devices to fail with dmesg-warn | ||
---|---|---|---|
Product: | DRI | Reporter: | Jari Tahvanainen <jari.tahvanainen> |
Component: | DRM/Intel | Assignee: | Intel GFX Bugs mailing list <intel-gfx-bugs> |
Status: | CLOSED FIXED | QA Contact: | Jairo Miramontes <jairo.daniel.miramontes.caton> |
Severity: | critical | ||
Priority: | highest | CC: | intel-gfx-bugs |
Version: | DRI git | ||
Hardware: | x86-64 (AMD64) | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | KBL | i915 features: | GEM/Other |
Description
Jari Tahvanainen
2017-03-07 12:02:21 UTC
A quick way to break this cycle (that may or may not be liked much by upstream) would be to add unique classes for each mm. Also [ 245.294829] -> #5 (&dev->struct_mutex){+.+.+.}: [ 245.294836] lock_acquire+0xc9/0x220 [ 245.294842] drm_gem_object_put_unlocked+0x40/0xc0 [ 245.294845] drm_gem_mmap+0xd1/0x100 [ 245.294849] mmap_region+0x39e/0x600 [ 245.294851] do_mmap+0x44c/0x500 [ 245.294853] vm_mmap_pgoff+0x9d/0xd0 [ 245.294856] SyS_mmap_pgoff+0x182/0x220 [ 245.294858] SyS_mmap+0x16/0x20 [ 245.294862] entry_SYSCALL_64_fastpath+0x1c/0xb1 is a false chain. We still do take the struct_mutex underneath mm->mmap_sem via i915_gem_fault() though. Rearrange code so that we don't call rcu_barrier() from the shrinker context, for another reason, which is enough to break this cycle. Though I still consider the dependency chain within nvme to be not our bug. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.