Bug 104155

Summary: [CI] igt@gem_userptr_blits@sync-unmap-after-close - dmesg-warn - Failed to release pages: bind_count=1, pages_pin_count=1, pin_global=0
Product: DRI Reporter: Marta Löfstedt <marta.lofstedt>
Component: DRM/IntelAssignee: Marta Löfstedt <marta.lofstedt>
Status: CLOSED 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: BXT, GLK, KBL i915 features: GEM/Other

Description Marta Löfstedt 2017-12-07 08:25:21 UTC
This started at CI_DRM_3462 and has been on every consecutive run on APL-, KBL- and GLK-shards, so far CI_DRM_3468.

https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_3462/shard-apl1/igt@gem_userptr_blits@sync-unmap-after-close.html
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_3462/shard-kbl3/igt@gem_userptr_blits@sync-unmap-after-close.html
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_3462/shard-glkb2/igt@gem_userptr_blits@sync-unmap-after-close.html


[  194.553807] ------------[ cut here ]------------
[  194.553874] Failed to release pages: bind_count=1, pages_pin_count=1, pin_global=0
[  194.553958] WARNING: CPU: 0 PID: 5 at :8drivers/gpu/drm/i915/i915_gem_userptr.c9 cancel_userptr+0xe4/0xf0 [i915]
[  194.553961] Modules linked in: snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_codec_generic i915 x86_pkg_temp_thermal intel_powerclamp coretemp crct10dif_pclmul crc32_pclmul ghash_clmulni_intel snd_hda_intel snd_hda_codec snd_hwdep snd_hda_core mei_me r8169 snd_pcm mei mii prime_numbers i2c_hid pinctrl_geminilake pinctrl_intel
[  194.554024] CPU: 0 PID: 5 Comm: kworker/u8:0 Tainted: G     U           4.15.0-rc2-CI-CI_DRM_3462+ #1
[  194.554027] Hardware name: Intel Corp. Geminilake/GLK RVP2 LP4SD (07), BIOS GELKRVPA.X64.0062.B30.1708222146 08/22/2017
[  194.554064] Workqueue: i915-userptr-release cancel_userptr [i915]
[  194.554070] task: 00000000f7a0c52e task.stack: 0000000045d54d3c
[  194.554106] RIP: 0010:cancel_userptr+0xe4/0xf0 [i915]
[  194.554109] RSP: 0018:ffffc90000083e20 EFLAGS: 00010282
[  194.554114] RAX: 0000000000000046 RBX: ffff88016e89a5c0 RCX: 0000000000000001
[  194.554117] RDX: 0000000080000001 RSI: ffffffff81ca8f7d RDI: 00000000ffffffff
[  194.554120] RBP: ffff88016e89a7b0 R08: ffff88017a8f5ae8 R09: 000000009411cda2
[  194.554122] R10: ffffc90000083e20 R11: 0000000000000000 R12: 0000000000000000
[  194.554125] R13: 0000000000000000 R14: ffff88016f904478 R15: ffff88016f904480
[  194.554128] FS:  0000000000000000(0000) GS:ffff88017fc00000(0000) knlGS:0000000000000000
[  194.554131] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  194.554134] CR2: 00007fbe1001bd28 CR3: 0000000003e10000 CR4: 0000000000340ef0
[  194.554136] Call Trace:
[  194.554146]  process_one_work+0x227/0x650
[  194.554158]  worker_thread+0x48/0x3a0
[  194.554167]  kthread+0x173/0x1b0
[  194.554171]  ? process_one_work+0x650/0x650
[  194.554175]  ? _kthread_create_on_node+0x30/0x30
[  194.554182]  ret_from_fork+0x24/0x30
[  194.554196] Code: 83 81 fe ff eb c9 8b 93 80 02 00 00 8b 8b ec 01 00 00 48 c7 c7 30 d1 49 a0 8b b3 e4 01 00 00 c6 05 97 fa 17 00 01 e8 4c a9 cc e0 <0f> ff eb bc 0f 1f 84 00 00 00 00 00 41 54 55 31 ed 53 48 8b 87 
[  194.554354] ---[ end trace c4a7df668628de62 ]---
Comment 1 Chris Wilson 2017-12-07 09:46:16 UTC
https://patchwork.freedesktop.org/series/34965/
Comment 2 Chris Wilson 2017-12-07 14:05:19 UTC
commit 010e3e68cd9cb65ea50c0af605e966cda333cb2a
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Dec 6 12:49:13 2017 +0000

    drm/i915: Remove vma from object on destroy, not close
    
    Originally we translated from the object to the vma by walking
    obj->vma_list to find the matching vm (for user lookups). Now we process
    user lookups using the rbtree, and we only use obj->vma_list itself for
    maintaining state (e.g. ensuring that all vma are flushed or rebound).
    As such maintenance needs to go on beyond the user's awareness of the
    vma, defer removal of the vma from the obj->vma_list from i915_vma_close()
    to i915_vma_destroy()
    
    Fixes: 5888fc9eac3c ("drm/i915: Flush pending GTT writes before unbinding")
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104155
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
    Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20171206124914.19960-1-chris@chris-wilson.co.uk
    Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Comment 3 Marta Löfstedt 2017-12-07 14:15:13 UTC
I'll take the bug to monitor once the patch is in a CI_DRM run.
Comment 4 Marta Löfstedt 2017-12-08 07:29:49 UTC
patch integrated to CI_DRM_3474, test is green I will close

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.