Issue metadata
Sign in to add a comment
|
Lots of kernel WARN on i915_gem_obj_to_ggtt on kernel 3.14 |
||||||||||||||||||||||
Issue descriptionChrome OS 52.0.2712.0/8222.0.0 Samus Please specify Cr-* of the system to which this bug/feature applies (add the label below). Steps To Reproduce: (1) Suspend and Resume Samus on TOT build (2) (3) Expected Result: Should be able to get to sign-in /lock screen. Actual Result: Screen turns black and shuts down . Have to power-on the device. How frequently does this problem reproduce? (Always, sometimes, hard to reproduce?) Always on Samus What is the impact to the user, and is there a workaround? If so, what is it? Please provide any additional information below. Attach a screen shot or log if possible.
,
Apr 21 2016
,
Apr 21 2016
rookrishna, how do you suspend the device?
,
Apr 21 2016
#3 close the lid of the device
,
Apr 21 2016
Seen this issue on Minnie too.
,
Apr 21 2016
A lot of kernel warnings observed in logs like 2016-04-21T15:44:22.319052-07:00 WARNING kernel: [ 3.333731] ------------[ cut here ]------------ 2016-04-21T15:44:22.319064-07:00 WARNING kernel: [ 3.333745] WARNING: CPU: 2 PID: 3111 at /mnt/host/source/src/third_party/kernel/v3.14/drivers/gpu/drm/i915/i915_gem.c:5125 i915_gem_obj_to_ggtt+0x4b/0x4f() 2016-04-21T15:44:22.319069-07:00 NOTICE kernel: [ 3.333756] Modules linked in: nf_conntrack_ipv6 nf_defrag_ipv6 ip6table_filter ip6_tables btusb btbcm btintel bluetooth iio_trig_sysfs iwlmvm iwl7000_mac80211 snd_hda_codec_hdmi iwlwifi cfg80211 snd_hda_intel snd_hda_controller snd_hda_codec cros_ec_accel kfifo_buf snd_hwdep industrialio joydev snd_seq_midi snd_seq_midi_event snd_rawmidi snd_seq snd_seq_device ppp_async ppp_generic slhc tun 2016-04-21T15:44:22.319072-07:00 NOTICE kernel: [ 3.333818] CPU: 2 PID: 3111 Comm: CompositorTileW Not tainted 3.14.0 #1 2016-04-21T15:44:22.319073-07:00 NOTICE kernel: [ 3.333825] Hardware name: GOOGLE Samus, BIOS Google_Samus.6300.174.0 04/02/2015 2016-04-21T15:44:22.319075-07:00 NOTICE kernel: [ 3.333832] 0000000000000000 0000000033aa9751 ffff880074c9dde8 ffffffff88da4cf3 2016-04-21T15:44:22.319077-07:00 NOTICE kernel: [ 3.333842] 0000000000000000 ffff880074c9de20 ffffffff8883df6b ffffffff88aeb7e4 2016-04-21T15:44:22.319079-07:00 NOTICE kernel: [ 3.333851] ffff8802747c6f00 0000000000000000 ffff880274dd07c8 0000000040086200 2016-04-21T15:44:22.319080-07:00 NOTICE kernel: [ 3.333861] Call Trace: 2016-04-21T15:44:22.319083-07:00 NOTICE kernel: [ 3.333869] [<ffffffff88da4cf3>] dump_stack+0x4d/0x6f 2016-04-21T15:44:22.319084-07:00 NOTICE kernel: [ 3.333877] [<ffffffff8883df6b>] warn_slowpath_common+0x7f/0x98 2016-04-21T15:44:22.319086-07:00 NOTICE kernel: [ 3.333884] [<ffffffff88aeb7e4>] ? i915_gem_obj_to_ggtt+0x4b/0x4f 2016-04-21T15:44:22.319088-07:00 NOTICE kernel: [ 3.333892] [<ffffffff8883e07d>] warn_slowpath_null+0x1a/0x1c 2016-04-21T15:44:22.319089-07:00 NOTICE kernel: [ 3.333898] [<ffffffff88aeb7e4>] i915_gem_obj_to_ggtt+0x4b/0x4f 2016-04-21T15:44:22.319091-07:00 NOTICE kernel: [ 3.333905] [<ffffffff88aeb8c8>] i915_gem_object_set_to_gtt_domain+0xe0/0x113 2016-04-21T15:44:22.319093-07:00 NOTICE kernel: [ 3.333915] [<ffffffff88b3b548>] i915_gem_end_cpu_access+0x2e/0x42 2016-04-21T15:44:22.319095-07:00 NOTICE kernel: [ 3.333923] [<ffffffff88b6d5b3>] dma_buf_end_cpu_access+0x3f/0x44 2016-04-21T15:44:22.319096-07:00 NOTICE kernel: [ 3.333931] [<ffffffff88b6d8ac>] dma_buf_ioctl+0x8d/0xc5 2016-04-21T15:44:22.319098-07:00 NOTICE kernel: [ 3.333938] [<ffffffff8891c708>] do_vfs_ioctl+0x355/0x416 2016-04-21T15:44:22.319100-07:00 NOTICE kernel: [ 3.333945] [<ffffffff88924ec7>] ? __fget+0x6f/0x79 2016-04-21T15:44:22.319102-07:00 NOTICE kernel: [ 3.333951] [<ffffffff8891c820>] SyS_ioctl+0x57/0x79 2016-04-21T15:44:22.319104-07:00 NOTICE kernel: [ 3.333958] [<ffffffff88daa09c>] system_call_fastpath+0x20/0x25 2016-04-21T15:44:22.319105-07:00 WARNING kernel: [ 3.333965] ---[ end trace 24f8672c7ed89e88 ]---
,
Apr 21 2016
,
Apr 21 2016
,
Apr 22 2016
,
Apr 22 2016
If I add --disable-native-gpu-memory-buffers as well as --disable-zero-copy to the chrome commandline then the warnings disappear.
,
Apr 22 2016
To clarify on #10: recently the cmdline argument "--enable-native-gpu-memory-buffer" was added by default. The "disable-zero-copy" seems unrelated to this warning. To guarantee that this option is disabled, add the following to /etc/chrome_dev.conf: --disable-native-gpu-memory-buffer !--enable-native-gpu-memory-buffer
,
Apr 22 2016
dongseong.hwang@intel.com: this seems to have started since the USE flags were added to haswell. See bug 475633: Use native GpuMemoryBuffers on Intel ChromeOS based on Ozone Freon
,
Apr 22 2016
Samus has enabled native-gpu-memory-buffer since Jan.29th. As it dies at dma_buf_end_cpu_access, dma_buf synchronization logic seems to have bug, which we added very recently. Let me comments out the synchronization logic. Samus is one of Broadwell board. Does Haswell have the same issue?
,
Apr 22 2016
#5 - Minnie is based on rockchip, so native-gpu-memory-buffer is not enabled. So the kernel warnings in #6 might not be related to this issue. #10 - it makes sense warning disappear, but do you see the cmdline fixes this issue? I tested Pixel-2. The cmdline doesn't fix this issue. It's my reproduce procedure. - log in chromebook - close top cover - open top cover The device is turned off sometimes, no matter whether native-gpu-memory-buffer is not enabled or not. I guess hibernate code might have issues.
,
Apr 22 2016
,
Apr 22 2016
re:#16 Assigned
,
Apr 22 2016
re:#15 Can you clarify which "issue" it is? Are you referring to the kernel warnings observed in comment #6, or a general suspend/resume bug? For the kernel warnings I'm fairly certain they require native-gpu-memory-buffer. We may have a separate suspend/resume issue that is not related to the kernel warnings, however.
,
Apr 22 2016
Let's fix the warning in this bug. For the suspend/resume screen black issue, see bug 605968
,
Apr 23 2016
For the warning I'm doing some bisect. I agree that we have enabled native-gpu-memory-buffer for a while so it is strange why this only started recently. I have a repro case on 8212.0.0 but not on 8200.0.0
,
Apr 23 2016
I have determined that the regression started at the chromeos-kernel-3.14 backport (see https://bugs.chromium.org/p/chromium/issues/detail?id=602675#c5) commit 6b1c085ae9cffc987b6d2e8258ff0304ec4e470f Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Thu Apr 14 20:08:00 2016 BACKPORT: drm/i915: Broaden application of set-domain(GTT)
,
Apr 23 2016
Specifically, commit 6b1c085ae9cffc987b6d2e8258ff0304ec4e470f removed the following check on i915_gem_object_is_inactive(obj) before calling i915_gem_obj_to_gtt(), thus we're seeing WARNs now. @@ -3515,13 +3509,10 @@ i915_gem_object_set_to_gtt_domain(struct drm_i915_gem_object *obj, bool write) old_write_domain); /* And bump the LRU for this access */ - if (i915_gem_object_is_inactive(obj)) { - struct i915_vma *vma = i915_gem_obj_to_ggtt(obj); - if (vma) - list_move_tail(&vma->mm_list, - &dev_priv->gtt.base.inactive_list); - - } + vma = i915_gem_obj_to_ggtt(obj); + if (vma && drm_mm_node_allocated(&vma->node) && !obj->active) + list_move_tail(&vma->mm_list, + &to_i915(obj->base.dev)->gtt.base.inactive_list); return 0; }
,
Apr 23 2016
This warning is not printed on 3.18 or upstream, due to the i915_ggtt_view infrastructure changes there, and i915_gem_obj_to_ggtt gets mapped to i915_gem_obj_to_ggtt_view, where a list_for_each_entry(vma, &obj->vma_list, vma_link) is used without a WARN.
,
Apr 23 2016
Updating bug summary. Let's fix the kernel WARN in this tracker. For the "black screen in suspend/resume" issue please see bug 605968 .
,
Apr 23 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/3873117673b8f3872410d6f0bb3a3150d5901730 commit 3873117673b8f3872410d6f0bb3a3150d5901730 Author: Haixia Shi <hshi@chromium.org> Date: Sat Apr 23 01:02:50 2016 drm/i915: fix kernel WARN in i915_gem_obj_to_ggtt The kernel WARN started at commit 6b1c085a9cff "BACKPORT: drm/i915: Broaden application of set-domain(GTT)" BUG= chromium:605774 TEST=verify no more warnings Signed-off-by: Haixia Shi <hshi@chromium.org> Change-Id: Id49d2d22e0b9f6bacb518c134f73dae2e242c3e0 Reviewed-on: https://chromium-review.googlesource.com/340480 Commit-Ready: Haixia Shi <hshi@chromium.org> Tested-by: Haixia Shi <hshi@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/3873117673b8f3872410d6f0bb3a3150d5901730/drivers/gpu/drm/i915/i915_gem.c
,
Apr 25 2016
Haixia, great job. re:#18 - yes, I'm talking about kernel warning. It looks fixed now.
,
Apr 25 2016
,
May 16 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/ca80bd54462f88af574e994b8532eb176de5edc2 commit ca80bd54462f88af574e994b8532eb176de5edc2 Author: Haixia Shi <hshi@chromium.org> Date: Sat Apr 23 01:02:50 2016 drm/i915: fix kernel WARN in i915_gem_obj_to_ggtt The kernel WARN started at commit 6b1c085a9cff "BACKPORT: drm/i915: Broaden application of set-domain(GTT)" BUG= chromium:605774 , chromium:611968 TEST=verify no more warnings Signed-off-by: Haixia Shi <hshi@chromium.org> Change-Id: Id49d2d22e0b9f6bacb518c134f73dae2e242c3e0 Reviewed-on: https://chromium-review.googlesource.com/340480 Commit-Ready: Haixia Shi <hshi@chromium.org> Tested-by: Haixia Shi <hshi@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> (cherry picked from commit 3873117673b8f3872410d6f0bb3a3150d5901730) Signed-off-by: Stéphane Marchesin <marcheu@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/344910 Reviewed-by: Haixia Shi <hshi@chromium.org> [modify] https://crrev.com/ca80bd54462f88af574e994b8532eb176de5edc2/drivers/gpu/drm/i915/i915_gem.c
,
May 17 2016
Verified the fix with M-52 (8334.0.0) on samus. |
|||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||
Comment 1 by rookrishna@chromium.org
, Apr 21 2016