Bug 110934

Summary: [CI][DRMTIP]igt@gem_vm_create@isolation - incomplete/dmesg-warn - WARN_ON(debug_locks && !lock_is_held(&(&vma->vm->i915->drm.struct_mutex)->dep_map))
Product: DRI Reporter: Lakshmi <lakshminarayana.vudum>
Component: DRM/IntelAssignee: Intel GFX Bugs mailing list <intel-gfx-bugs>
Status: RESOLVED FIXED QA Contact: Intel GFX Bugs mailing list <intel-gfx-bugs>
Severity: normal    
Priority: medium CC: intel-gfx-bugs
Version: DRI git   
Hardware: Other   
OS: All   
Whiteboard: ReadyForDev
i915 platform: BYT, HSW i915 features: GEM/Other

Description Lakshmi 2019-06-18 05:07:49 UTC
https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_309/fi-byt-j1900/igt@gem_vm_create@isolation.html

<6> [108.635209] Console: switching to colour dummy device 80x25
<6> [108.635409] [IGT] gem_vm_create: executing
<6> [108.647562] [IGT] gem_vm_create: starting subtest isolation
<4> [108.653959] ------------[ cut here ]------------
<4> [108.653967] WARN_ON(debug_locks && !lock_is_held(&(&vma->vm->i915->drm.struct_mutex)->dep_map))
<4> [108.654123] WARNING: CPU: 1 PID: 1262 at drivers/gpu/drm/i915/i915_vma.c:839 i915_vma_destroy+0x1ab/0x360 [i915]
<4> [108.654130] Modules linked in: snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_codec_generic i915 btusb btrtl btbcm btintel bluetooth coretemp crct10dif_pclmul crc32_pclmul ghash_clmulni_intel snd_hda_intel snd_hda_codec snd_hwdep ecdh_generic snd_hda_core ecc snd_pcm r8169 realtek lpc_ich prime_numbers i2c_hid
<4> [108.654164] CPU: 1 PID: 1262 Comm: gem_vm_create Tainted: G     U            5.2.0-rc4-gfbe8f94e9478-drmtip_309+ #1
<4> [108.654168] Hardware name: GIGABYTE GB-BXBT-1900/MZBAYAB-00, BIOS F6 02/17/2015
<4> [108.654264] RIP: 0010:i915_vma_destroy+0x1ab/0x360 [i915]
<4> [108.654270] Code: 00 00 00 48 81 c7 c8 00 00 00 e8 50 01 d4 f7 85 c0 0f 85 7b fe ff ff 48 c7 c6 40 a8 4d c0 48 c7 c7 df 31 50 c0 e8 95 82 cd f7 <0f> 0b 80 bb 08 01 00 00 00 0f 84 66 fe ff ff 48 c7 c1 fb 34 50 c0
<4> [108.654275] RSP: 0018:ffffafa8c057bc98 EFLAGS: 00010282
<4> [108.654280] RAX: 0000000000000000 RBX: ffff924b76f1cc40 RCX: 0000000000000001
<4> [108.654285] RDX: 0000000000000046 RSI: 0000000000000006 RDI: ffffffffb90f9be1
<4> [108.654289] RBP: ffffafa8c057bcb8 R08: 0000000000000000 R09: 0000000000000000
<4> [108.654293] R10: 0000000000000000 R11: 0000000000000000 R12: ffff924b6a832340
<4> [108.654297] R13: ffff924b6a832158 R14: ffff924b6a832330 R15: ffff924b76f1d040
<4> [108.654302] FS:  00007ff441211e40(0000) GS:ffff924b7ba80000(0000) knlGS:0000000000000000
<4> [108.654306] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
<4> [108.654311] CR2: 00007fff2e8347c0 CR3: 000000012608a000 CR4: 00000000001006e0
<4> [108.654315] Call Trace:
<4> [108.654419]  i915_vm_release+0xa9/0x2e0 [i915]
<4> [108.654523]  i915_gem_vm_destroy_ioctl+0x75/0x90 [i915]
<4> [108.654621]  ? i915_gem_vm_create_ioctl+0x150/0x150 [i915]
<4> [108.654629]  drm_ioctl_kernel+0x83/0xf0
<4> [108.654641]  drm_ioctl+0x2f3/0x3b0
<4> [108.654735]  ? i915_gem_vm_create_ioctl+0x150/0x150 [i915]
<4> [108.654748]  ? _raw_spin_unlock_irqrestore+0x4c/0x60
<4> [108.654755]  ? lockdep_hardirqs_on+0xe3/0x1b0
<4> [108.654763]  ? _raw_spin_unlock_irqrestore+0x39/0x60
<4> [108.654778]  do_vfs_ioctl+0xa0/0x6e0
<4> [108.654785]  ? task_work_run+0x6e/0xb0
<4> [108.654795]  ? _raw_spin_unlock_irq+0x24/0x50
<4> [108.654801]  ? lockdep_hardirqs_on+0xe3/0x1b0
<4> [108.654810]  ksys_ioctl+0x35/0x60
<4> [108.654820]  __x64_sys_ioctl+0x11/0x20
<4> [108.654826]  do_syscall_64+0x55/0x1c0
<4> [108.654834]  entry_SYSCALL_64_after_hwframe+0x49/0xbe
<4> [108.654840] RIP: 0033:0x7ff4406a85d7
<4> [108.654846] Code: b3 66 90 48 8b 05 b1 48 2d 00 64 c7 00 26 00 00 00 48 c7 c0 ff ff ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 b8 10 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d 81 48 2d 00 f7 d8 64 89 01 48
<4> [108.654850] RSP: 002b:00007fff2e836e38 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
<4> [108.654856] RAX: ffffffffffffffda RBX: 0000000000000005 RCX: 00007ff4406a85d7
<4> [108.654860] RDX: 00007fff2e836e70 RSI: 000000004010647b RDI: 0000000000000005
<4> [108.654864] RBP: 00007fff2e836e70 R08: 0000000000000004 R09: 0000000000000000
<4> [108.654868] R10: 0000000000000056 R11: 0000000000000246 R12: 000000004010647b
<4> [108.654872] R13: 0000000000000005 R14: 0000000000000001 R15: 00007fff2e836ff0
<4> [108.654892] irq event stamp: 44602
<4> [108.654898] hardirqs last  enabled at (44601): [<ffffffffb812c4fc>] vprintk_emit+0xcc/0x340
<4> [108.654903] hardirqs last disabled at (44602): [<ffffffffb80019e0>] trace_hardirqs_off_thunk+0x1a/0x1c
<4> [108.654909] softirqs last  enabled at (44420): [<ffffffffb8c0033a>] __do_softirq+0x33a/0x4b9
<4> [108.654915] softirqs last disabled at (44407): [<ffffffffb80ba1b9>] irq_exit+0xa9/0xc0
<4> [108.655007] WARNING: CPU: 1 PID: 1262 at drivers/gpu/drm/i915/i915_vma.c:839 i915_vma_destroy+0x1ab/0x360 [i915]
<4> [108.655011] ---[ end trace 3ed3e1b9e7c91839 ]---
<4> [108.655095] ------------[ cut here ]------------
Comment 1 CI Bug Log 2019-06-18 05:08:40 UTC
The CI Bug Log issue associated to this bug has been updated.

### New filters associated

* BYT HSW: igt@gem_vm_create@isolation - incomplete/dmesg-warn - WARN_ON(debug_locks &amp;&amp; !lock_is_held(&amp;(&amp;vma-&gt;vm-&gt;i915-&gt;drm.struct_mutex)-&gt;dep_map))
  - https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_309/fi-byt-j1900/igt@gem_vm_create@isolation.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_310/fi-hsw-peppy/igt@gem_vm_create@isolation.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3020/shard-hsw4/igt@gem_vm_create@isolation.html
Comment 3 Chris Wilson 2019-06-18 07:58:32 UTC
Waiting for the struct_mutex death bell.
Comment 4 Chris Wilson 2019-06-20 21:31:07 UTC
commit b32fa811156328aea5a3c2ff05cc096490382456 (HEAD -> drm-intel-next-queued, drm-intel/for-linux-next, drm-intel/drm-intel-next-queued)
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu Jun 20 19:37:05 2019 +0100

    drm/i915/gtt: Defer address space cleanup to an RCU worker
    
    Enable RCU protection of i915_address_space and its ppgtt superclasses,
    and defer its cleanup into a worker executed after an RCU grace period.
    
    In the future we will be able to use the RCU protection to reduce the
    locking around VM lookups, but the immediate benefit is being able to
    defer the release into a kworker (process context). This is required as
    we may need to sleep to reap the WC pages stashed away inside the ppgtt.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110934
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190620183705.31006-1-chris@chris-wilson.co.uk

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.