Bug 102711 - high system load and mouse delays - pipe A vblank wait timed out
Summary: high system load and mouse delays - pipe A vblank wait timed out
Status: CLOSED NOTOURBUG
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: unspecified
Hardware: x86-64 (AMD64) Linux (All)
: medium major
Assignee: Intel GFX Bugs mailing list
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-09-13 20:07 UTC by Albert Weichselbraun
Modified: 2017-10-03 22:51 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
kernel messages since boot (with drm.debug=0x1e log_buf_len=1M) (138.92 KB, application/x-bzip)
2017-09-13 20:07 UTC, Albert Weichselbraun
no flags Details
kernel messages since boot (no drm.debug) (18.38 KB, application/x-bzip)
2017-09-13 20:09 UTC, Albert Weichselbraun
no flags Details

Description Albert Weichselbraun 2017-09-13 20:07:35 UTC
Created attachment 134202 [details]
kernel messages since boot (with drm.debug=0x1e log_buf_len=1M)

This issue has been observed on a Lenovo X220i laptop and affects all linux kernels later than 4.12.7:

1. Booting the kernel results in a very sluggish system performance (mouse pointer delays) and a high system load even before wayland or xorg are started.
2. Both wayland and xorg are affected.
3. /var/log/kern.log indicates a problem with the display driver (see below)

First kernel version affected by this issue: 4.12.8
Latest tested kernel version: 4.13.1-041301-generic (Ubuntu mainline)

After some time the following message is logged:

<snip>
Sep 13 21:33:02 trinity kernel: [  359.815623] pipe A vblank wait timed out
Sep 13 21:33:02 trinity kernel: [  359.815704] ------------[ cut here ]------------
Sep 13 21:33:02 trinity kernel: [  359.815813] WARNING: CPU: 1 PID: 99 at /home/kernel/COD/linux/drivers/gpu/drm/i915/intel_display.c:12844 intel_atomic_commit_tail+0xf7d/0xf90 [i915]
Sep 13 21:33:02 trinity kernel: [  359.815815] Modules linked in: dm_crypt crypto_simd glue_helper aes_x86_64 algif_skcipher af_alg xt_CHECKSUM iptable_mangle ipt_MASQUERADE nf_nat_masquerade_ipv4 iptable_nat nf_nat_ipv4 nf_nat nf_conntrack_ipv4 nf_defrag_ipv4 xt_conntrack nf_conntrack ipt_REJECT nf_reject_ipv4 xt_tcpudp bridge stp llc ebtable_filter ebtables ip6table_filter ip6_tables iptable_filter binfmt_misc intel_rapl x86_pkg_temp_thermal snd_hda_codec_hdmi intel_powerclamp snd_hda_codec_conexant snd_hda_codec_generic coretemp kvm_intel kvm snd_hda_intel uvcvideo irqbypass snd_hda_codec crct10dif_pclmul crc32_pclmul ghash_clmulni_intel snd_hda_core cryptd snd_hwdep snd_pcm arc4 intel_cstate videobuf2_vmalloc intel_rapl_perf videobuf2_memops videobuf2_v4l2 videobuf2_core snd_seq_midi videodev iwldvm snd_seq_midi_event media snd_rawmidi
Sep 13 21:33:02 trinity kernel: [  359.815884]  mac80211 input_leds serio_raw wmi_bmof snd_seq iwlwifi thinkpad_acpi cfg80211 snd_seq_device nvram snd_timer snd soundcore lpc_ich mac_hid mei_me mei shpchp parport_pc ppdev lp parport ip_tables x_tables autofs4 xfs libcrc32c mmc_block i915 uas usb_storage psmouse i2c_algo_bit drm_kms_helper ahci syscopyarea libahci sdhci_pci sysfillrect sysimgblt sdhci fb_sys_fops e1000e drm ptp pps_core wmi video
Sep 13 21:33:02 trinity kernel: [  359.815945] CPU: 1 PID: 99 Comm: kworker/u16:2 Not tainted 4.13.1-041301-generic #201709100232
Sep 13 21:33:02 trinity kernel: [  359.815947] Hardware name: LENOVO 4290W1A/4290W1A, BIOS 8DET69WW (1.39 ) 07/18/2013
Sep 13 21:33:02 trinity kernel: [  359.816025] Workqueue: events_unbound intel_atomic_commit_work [i915]
Sep 13 21:33:02 trinity kernel: [  359.816029] task: ffff8b151b92ae80 task.stack: ffffb25641d60000
Sep 13 21:33:02 trinity kernel: [  359.816097] RIP: 0010:intel_atomic_commit_tail+0xf7d/0xf90 [i915]
Sep 13 21:33:02 trinity kernel: [  359.816100] RSP: 0018:ffffb25641d63d88 EFLAGS: 00010282
Sep 13 21:33:02 trinity kernel: [  359.816104] RAX: 000000000000001c RBX: 0000000000000000 RCX: 0000000000000000
Sep 13 21:33:02 trinity kernel: [  359.816106] RDX: 0000000000000000 RSI: ffff8b151e24dc78 RDI: ffff8b151e24dc78
Sep 13 21:33:02 trinity kernel: [  359.816108] RBP: ffffb25641d63e40 R08: 0000000000000001 R09: 00000000000048da
Sep 13 21:33:02 trinity kernel: [  359.816110] R10: ffffb25641d63d88 R11: 0000000000000000 R12: 0000000000005305
Sep 13 21:33:02 trinity kernel: [  359.816112] R13: ffff8b14ff080000 R14: ffff8b1500127000 R15: 0000000000000001
Sep 13 21:33:02 trinity kernel: [  359.816115] FS:  0000000000000000(0000) GS:ffff8b151e240000(0000) knlGS:0000000000000000
Sep 13 21:33:02 trinity kernel: [  359.816118] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Sep 13 21:33:02 trinity kernel: [  359.816120] CR2: 00007fb9866f0ce0 CR3: 0000000419e09000 CR4: 00000000000406e0
Sep 13 21:33:02 trinity kernel: [  359.816123] Call Trace:
Sep 13 21:33:02 trinity kernel: [  359.816137]  ? dequeue_task_fair+0x49f/0x640
Sep 13 21:33:02 trinity kernel: [  359.816146]  ? wait_woken+0x80/0x80
Sep 13 21:33:02 trinity kernel: [  359.816237]  intel_atomic_commit_work+0x12/0x20 [i915]
Sep 13 21:33:02 trinity kernel: [  359.816248]  process_one_work+0x1e7/0x410
Sep 13 21:33:02 trinity kernel: [  359.816256]  worker_thread+0x4a/0x410
Sep 13 21:33:02 trinity kernel: [  359.816262]  kthread+0x125/0x140
Sep 13 21:33:02 trinity kernel: [  359.816269]  ? process_one_work+0x410/0x410
Sep 13 21:33:02 trinity kernel: [  359.816274]  ? kthread_create_on_node+0x70/0x70
Sep 13 21:33:02 trinity kernel: [  359.816279]  ? kthread_create_on_node+0x70/0x70
Sep 13 21:33:02 trinity kernel: [  359.816289]  ret_from_fork+0x25/0x30
Sep 13 21:33:02 trinity kernel: [  359.816293] Code: ff ff ff 48 83 c7 08 e8 e2 10 62 fb 4c 8b 85 70 ff ff ff 4d 85 c0 0f 85 7b fa ff ff 8d 73 41 48 c7 c7 30 51 37 c0 e8 64 c3 63 fb <0f> ff e9 65 fa ff ff 66 90 66 2e 0f 1f 84 00 00 00 00 00 66 66 
Sep 13 21:33:02 trinity kernel: [  359.816385] ---[ end trace f7a688c44f58bb5a ]---
</snip>
Comment 1 Albert Weichselbraun 2017-09-13 20:09:39 UTC
Created attachment 134203 [details]
kernel messages since boot (no drm.debug)
Comment 2 Albert Weichselbraun 2017-09-17 05:46:13 UTC
Just in case somebody else runs into this problem. I did some debugging by comparing the changes between linux v4.12.7 and v4.12.8.

In fact this problem has been triggered by a change in the xhci driver (drivers/usb/host/xhci-pci.c) which now does a mandatory reset of some xhci devices.

<snip>
/* For some HW implementations, a XHCI reset is just not enough... */
if (usb_xhci_needs_pci_reset(dev) {
   dev_info(&dev_>dev, "Resetting\n");
   if (pci_reset_function_locked(dev))
       dev_warn(&dev->dev, "Reset failed");
}
</snip>

In my case this seemed to mess up the external USB controller

  USB controller: Renesas Technology Corp. uPD720202 USB 3.0 Host Controller (rev 02)

and led to the freezes as well as to the error message of the display driver.


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.