Dear maintainers,
On an Asus Zenbook UX32VD laptop with an i5-3317U CPU and Intel HD4000 graphics, I'm experiencing the following with the latest 3.19rc6 mainline kernel (built from the Arch Linux AUR package: https://aur.archlinux.org/packages/linux-mainline/ ). The problem is related to the compton compositor: https://github.com/chjj/compton
Booting to X goes very normally. Then, I start compton with the command `compton --backend glx`. As soon as I do that, the dmesg log starts getting filled with these warnings. This is a snippet from my journalctl log:
1 Feb 02 00:06:44 stroemsoe kernel: WARNING: CPU: 0 PID: 273 at drivers/gpu/drm/i915/intel_display.c:9705 intel_check_page_flip+0xa2/0xf0 [i915]() 1421 Feb 02 00:06:44 stroemsoe kernel: WARN_ON(!in_irq()) 1 Feb 02 00:06:44 stroemsoe kernel: Modules linked in: 2 Feb 02 00:06:44 stroemsoe kernel: joydev mousedev msr uvcvideo rtsx_usb_sdmmc videobuf2_vmalloc rtsx_usb_ms videobuf2_memops mmc_core memstick videobuf2_core n ls_iso8859_1 rtsx_usb v4l2_common nls_cp437 videodev vfat fat coretemp intel_rapl media iosf_mbi x86_pkg_temp_thermal intel_powerclamp arc4 kvm_intel kvm iwldvm crct10dif_pclmul crc32_pclmul iTCO_wdt mac80211 iTCO_vendor_support crc32c_intel ghash_clmulni_intel snd_hda_codec_hdmi nouveau aesni_intel i915 aes_x86_64 snd _hda_codec_realtek glue_helper lrw gf128mul ablk_helper snd_hda_codec_generic cryptd iwlwifi pcspkr evdev mac_hid snd_hda_intel psmouse serio_raw snd_hda_contro ller snd_hda_codec snd_hwdep mxm_wmi snd_pcm ttm snd_timer cfg80211 snd lpc_ich soundcore mfd_core i2c_i801 fan int3403_thermal button i2c_algo_bit mei_me drm_k ms_helper mei drm battery tpm_tis 3 Feb 02 00:06:44 stroemsoe kernel: thermal tpm shpchp ac int3402_thermal i2c_core intel_gtt int3400_thermal acpi_thermal_rel processor sch_fq_codel overlay ext4 crc16 mbcache jbd2 sd_mod atkbd libps2 ahci libahci libata ehci_pci xhci_pci ehci_hcd xhci_hcd scsi_mod usbcore usb_common i8042 serio asus_nb_wmi asus_wmi hwm on video rfkill sparse_keymap wmi led_class 4 Feb 02 00:06:44 stroemsoe kernel: CPU: 0 PID: 273 Comm: irq/32-i915 Tainted: G W 3.19.0-1-mainline #1 5 Feb 02 00:06:44 stroemsoe kernel: Hardware name: ASUSTeK COMPUTER INC. UX32VD/UX32VD, BIOS UX32VD.213 11/16/2012 6 Feb 02 00:06:44 stroemsoe kernel: 0000000000000000 00000000b983161a ffff8800c88afc78 ffffffff8153537c 7 Feb 02 00:06:44 stroemsoe kernel: 0000000000000000 ffff8800c88afcd0 ffff8800c88afcb8 ffffffff81075a9a 8 Feb 02 00:06:44 stroemsoe kernel: ffff8800c88afcb8 ffff8800c7d99000 ffff8800c8e05000 ffff8800c8e05000 9 Feb 02 00:06:44 stroemsoe kernel: Call Trace: 10 Feb 02 00:06:44 stroemsoe kernel: [<ffffffff8153537c>] dump_stack+0x4c/0x6e 11 Feb 02 00:06:44 stroemsoe kernel: [<ffffffff81075a9a>] warn_slowpath_common+0x8a/0xc0 12 Feb 02 00:06:44 stroemsoe kernel: [<ffffffff81075b25>] warn_slowpath_fmt+0x55/0x70 13 Feb 02 00:06:44 stroemsoe kernel: [<ffffffffa0596492>] intel_check_page_flip+0xa2/0xf0 [i915] 14 Feb 02 00:06:44 stroemsoe kernel: [<ffffffffa05639d8>] ironlake_irq_handler+0x428/0x1000 [i915] 15 Feb 02 00:06:44 stroemsoe kernel: [<ffffffff810a17aa>] ? do_set_cpus_allowed+0x4a/0x60 16 Feb 02 00:06:44 stroemsoe kernel: [<ffffffff810cf810>] ? irq_thread_fn+0x50/0x50 17 Feb 02 00:06:44 stroemsoe kernel: [<ffffffff810cf83d>] irq_forced_thread_fn+0x2d/0x70 18 Feb 02 00:06:44 stroemsoe kernel: [<ffffffff810cfb67>] irq_thread+0x157/0x180 19 Feb 02 00:06:44 stroemsoe kernel: [<ffffffff810cf950>] ? wake_threads_waitq+0x30/0x30 20 Feb 02 00:06:44 stroemsoe kernel: [<ffffffff810cfa10>] ? irq_thread_dtor+0xc0/0xc0 21 Feb 02 00:06:44 stroemsoe kernel: [<ffffffff81093dea>] kthread+0xea/0x100 22 Feb 02 00:06:44 stroemsoe kernel: [<ffffffff81093d00>] ? kthread_create_on_node+0x1c0/0x1c0 23 Feb 02 00:06:44 stroemsoe kernel: [<ffffffff8153ac3c>] ret_from_fork+0x7c/0xb0 24 Feb 02 00:06:44 stroemsoe kernel: [<ffffffff81093d00>] ? kthread_create_on_node+0x1c0/0x1c0 25 Feb 02 00:06:44 stroemsoe kernel: ---[ end trace 46f2548918f46443 ]---
I get about 4-5 of them per second as long as compton is running. Starting compton with `--backend xrender` doesn't cause any warnings. I'm using the SNA AccelMethod (the default), but switching to UXA or Glamor didn't seem to have any effect. I haven't set any i915 specific kernel flags.
I don't see this on the current stable 3.18.5 kernel. The first time I saw this was on 3.19rc3 when I tried it due to another bug in the 3.18 series. I haven't gone through all the 3.19 release candidates, but the behaviour with 3.19rc6 seems identical to what I saw with 3.19rc3.
Sakari Kapanen
On 02/02/2015 01:35 AM, Sakari Kapanen wrote:
I don't see this on the current stable 3.18.5 kernel. The first time I saw this was on 3.19rc3 when I tried it due to another bug in the 3.18 series. I haven't gone through all the 3.19 release candidates, but the behaviour with 3.19rc6 seems identical to what I saw with 3.19rc3.
Just confirmed this bug exists on 3.19rc7 as well. I also realized I should attach my kernel config, since I'm using a custom one.
Sakari Kapanen
On Mon, 02 Feb 2015, Sakari Kapanen sakari.m.kapanen@student.jyu.fi wrote:
Dear maintainers,
On an Asus Zenbook UX32VD laptop with an i5-3317U CPU and Intel HD4000 graphics, I'm experiencing the following with the latest 3.19rc6 mainline kernel (built from the Arch Linux AUR package: https://aur.archlinux.org/packages/linux-mainline/ ). The problem is related to the compton compositor: https://github.com/chjj/compton
Hi, a full dmesg from boot to the problem with drm.debug=14 module parameter set might be useful. Also, you may get fastest results if you do a git bisect from a good to bad kernel.
BR, Jani.
Booting to X goes very normally. Then, I start compton with the command `compton --backend glx`. As soon as I do that, the dmesg log starts getting filled with these warnings. This is a snippet from my journalctl log:
1 Feb 02 00:06:44 stroemsoe kernel: WARNING: CPU: 0 PID: 273 at
drivers/gpu/drm/i915/intel_display.c:9705 intel_check_page_flip+0xa2/0xf0 [i915]() 1421 Feb 02 00:06:44 stroemsoe kernel: WARN_ON(!in_irq()) 1 Feb 02 00:06:44 stroemsoe kernel: Modules linked in: 2 Feb 02 00:06:44 stroemsoe kernel: joydev mousedev msr uvcvideo rtsx_usb_sdmmc videobuf2_vmalloc rtsx_usb_ms videobuf2_memops mmc_core memstick videobuf2_core n ls_iso8859_1 rtsx_usb v4l2_common nls_cp437 videodev vfat fat coretemp intel_rapl media iosf_mbi x86_pkg_temp_thermal intel_powerclamp arc4 kvm_intel kvm iwldvm crct10dif_pclmul crc32_pclmul iTCO_wdt mac80211 iTCO_vendor_support crc32c_intel ghash_clmulni_intel snd_hda_codec_hdmi nouveau aesni_intel i915 aes_x86_64 snd _hda_codec_realtek glue_helper lrw gf128mul ablk_helper snd_hda_codec_generic cryptd iwlwifi pcspkr evdev mac_hid snd_hda_intel psmouse serio_raw snd_hda_contro ller snd_hda_codec snd_hwdep mxm_wmi snd_pcm ttm snd_timer cfg80211 snd lpc_ich soundcore mfd_core i2c_i801 fan int3403_thermal button i2c_algo_bit mei_me drm_k ms_helper mei drm battery tpm_tis 3 Feb 02 00:06:44 stroemsoe kernel: thermal tpm shpchp ac int3402_thermal i2c_core intel_gtt int3400_thermal acpi_thermal_rel processor sch_fq_codel overlay ext4 crc16 mbcache jbd2 sd_mod atkbd libps2 ahci libahci libata ehci_pci xhci_pci ehci_hcd xhci_hcd scsi_mod usbcore usb_common i8042 serio asus_nb_wmi asus_wmi hwm on video rfkill sparse_keymap wmi led_class 4 Feb 02 00:06:44 stroemsoe kernel: CPU: 0 PID: 273 Comm: irq/32-i915 Tainted: G W 3.19.0-1-mainline #1 5 Feb 02 00:06:44 stroemsoe kernel: Hardware name: ASUSTeK COMPUTER INC. UX32VD/UX32VD, BIOS UX32VD.213 11/16/2012 6 Feb 02 00:06:44 stroemsoe kernel: 0000000000000000 00000000b983161a ffff8800c88afc78 ffffffff8153537c 7 Feb 02 00:06:44 stroemsoe kernel: 0000000000000000 ffff8800c88afcd0 ffff8800c88afcb8 ffffffff81075a9a 8 Feb 02 00:06:44 stroemsoe kernel: ffff8800c88afcb8 ffff8800c7d99000 ffff8800c8e05000 ffff8800c8e05000 9 Feb 02 00:06:44 stroemsoe kernel: Call Trace: 10 Feb 02 00:06:44 stroemsoe kernel: [<ffffffff8153537c>] dump_stack+0x4c/0x6e 11 Feb 02 00:06:44 stroemsoe kernel: [<ffffffff81075a9a>] warn_slowpath_common+0x8a/0xc0 12 Feb 02 00:06:44 stroemsoe kernel: [<ffffffff81075b25>] warn_slowpath_fmt+0x55/0x70 13 Feb 02 00:06:44 stroemsoe kernel: [<ffffffffa0596492>] intel_check_page_flip+0xa2/0xf0 [i915] 14 Feb 02 00:06:44 stroemsoe kernel: [<ffffffffa05639d8>] ironlake_irq_handler+0x428/0x1000 [i915] 15 Feb 02 00:06:44 stroemsoe kernel: [<ffffffff810a17aa>] ? do_set_cpus_allowed+0x4a/0x60 16 Feb 02 00:06:44 stroemsoe kernel: [<ffffffff810cf810>] ? irq_thread_fn+0x50/0x50 17 Feb 02 00:06:44 stroemsoe kernel: [<ffffffff810cf83d>] irq_forced_thread_fn+0x2d/0x70 18 Feb 02 00:06:44 stroemsoe kernel: [<ffffffff810cfb67>] irq_thread+0x157/0x180 19 Feb 02 00:06:44 stroemsoe kernel: [<ffffffff810cf950>] ? wake_threads_waitq+0x30/0x30 20 Feb 02 00:06:44 stroemsoe kernel: [<ffffffff810cfa10>] ? irq_thread_dtor+0xc0/0xc0 21 Feb 02 00:06:44 stroemsoe kernel: [<ffffffff81093dea>] kthread+0xea/0x100 22 Feb 02 00:06:44 stroemsoe kernel: [<ffffffff81093d00>] ? kthread_create_on_node+0x1c0/0x1c0 23 Feb 02 00:06:44 stroemsoe kernel: [<ffffffff8153ac3c>] ret_from_fork+0x7c/0xb0 24 Feb 02 00:06:44 stroemsoe kernel: [<ffffffff81093d00>] ? kthread_create_on_node+0x1c0/0x1c0 25 Feb 02 00:06:44 stroemsoe kernel: ---[ end trace 46f2548918f46443 ]---
I get about 4-5 of them per second as long as compton is running. Starting compton with `--backend xrender` doesn't cause any warnings. I'm using the SNA AccelMethod (the default), but switching to UXA or Glamor didn't seem to have any effect. I haven't set any i915 specific kernel flags.
I don't see this on the current stable 3.18.5 kernel. The first time I saw this was on 3.19rc3 when I tried it due to another bug in the 3.18 series. I haven't gone through all the 3.19 release candidates, but the behaviour with 3.19rc6 seems identical to what I saw with 3.19rc3.
Sakari Kapanen
On 02/04/2015 11:26 AM, Jani Nikula wrote:
On Mon, 02 Feb 2015, Sakari Kapanen sakari.m.kapanen@student.jyu.fi wrote:
Dear maintainers,
On an Asus Zenbook UX32VD laptop with an i5-3317U CPU and Intel HD4000 graphics, I'm experiencing the following with the latest 3.19rc6 mainline kernel (built from the Arch Linux AUR package: https://aur.archlinux.org/packages/linux-mainline/ ). The problem is related to the compton compositor: https://github.com/chjj/compton
Hi, a full dmesg from boot to the problem with drm.debug=14 module parameter set might be useful. Also, you may get fastest results if you do a git bisect from a good to bad kernel.
BR, Jani.
Hi, I did a bisect between 3.18 to 3.19-rc1. I could only narrow it down to ~110 commits. They were based on 3.17-rc5 which wouldn't boot on my computer due to an unrelated kernel panic which I couldn't resolve, so I couldn't bisect any further. Sorry about that!
I noticed one thing: the warnings I mentioned appear only when threader IRQs are enabled via the `threadirqs` kernel flag. Without that flag, I didn't get any of those warnings on any kernel.
I attached the bisect log, in which the commits that were left are shown. Also, there's a dmesg log with drm.debug=14 set. The first warning appears at 4.895940 when X is started (no compton yet). Compton was started at ~14, and the first warning due to it appears at 15.009088.
Please let me know if I any other information would be useful.
BR, Sakari.
On Thu, Feb 05, 2015 at 12:44:21PM +0200, Sakari Kapanen wrote:
On 02/04/2015 11:26 AM, Jani Nikula wrote:
On Mon, 02 Feb 2015, Sakari Kapanen sakari.m.kapanen@student.jyu.fi wrote:
Dear maintainers,
On an Asus Zenbook UX32VD laptop with an i5-3317U CPU and Intel HD4000 graphics, I'm experiencing the following with the latest 3.19rc6 mainline kernel (built from the Arch Linux AUR package: https://aur.archlinux.org/packages/linux-mainline/ ). The problem is related to the compton compositor: https://github.com/chjj/compton
Hi, a full dmesg from boot to the problem with drm.debug=14 module parameter set might be useful. Also, you may get fastest results if you do a git bisect from a good to bad kernel.
BR, Jani.
Hi, I did a bisect between 3.18 to 3.19-rc1. I could only narrow it down to ~110 commits. They were based on 3.17-rc5 which wouldn't boot on my computer due to an unrelated kernel panic which I couldn't resolve, so I couldn't bisect any further. Sorry about that!
I noticed one thing: the warnings I mentioned appear only when threader IRQs are enabled via the `threadirqs` kernel flag. Without that flag, I didn't get any of those warnings on any kernel.
I attached the bisect log, in which the commits that were left are shown. Also, there's a dmesg log with drm.debug=14 set. The first warning appears at 4.895940 when X is started (no compton yet). Compton was started at ~14, and the first warning due to it appears at 15.009088.
Please let me know if I any other information would be useful.
The commit you were looking for is:
commit f326038a29092534b59626f736a3c6e599bda017 Author: Daniel Vetter daniel.vetter@ffwll.ch Date: Mon Sep 15 14:55:23 2014 +0200
drm/i915: Clarify event_lock locking, irq&mixed context
Now we tackle the functions also called from interrupt handlers.
- intel_check_page_flip is exclusively called from irq handlers, so a plain spin_lock is all we need. In i915_irq.c we have the convention to give all such functions an _irq_handler postfix, but that would look strange and als be a bit a misleading name. I've opted for a WARN_ON(!in_irq()) instead.
- The other two places left are called both from interrupt handlers and from our reset work, so need the full irqsave dance. Annotate them with a short comment.
Reviewed-by: Jesse Barnes jbarnes@virtuousgeek.org Signed-off-by: Daniel Vetter daniel.vetter@ffwll.ch
The WARN_ON(!in_irq() fires
[ 4.889038] [drm:intel_crtc_set_config] [CRTC:8] [FB:33] #connectors=1 (x y) (0 0) [ 4.889045] [drm:intel_set_config_compute_mode_changes] computed changes for [CRTC:8], mode_changed=0, fb_changed=1 [ 4.889050] [drm:intel_modeset_stage_output_state] [CONNECTOR:21:eDP-1] to [CRTC:8] [ 4.891027] [drm:ironlake_update_primary_plane] Writing base 0076C000 00000000 0 0 5632 [ 4.895940] ------------[ cut here ]------------ [ 4.895980] WARNING: CPU: 1 PID: 248 at drivers/gpu/drm/i915/intel_display.c:9754 intel_check_page_flip+0x99/0xe0 [i915]() [ 4.895983] Modules linked in: snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_codec_generic nls_iso8859_1 nls_cp437 vfat fat joydev mousedev msr coretemp rtsx_usb_ms intel_rapl memstick rtsx_usb_sdmmc uvcvideo x86_pkg_temp_thermal mmc_core videobuf2_vmalloc intel_powerclamp videobuf2_memops videobuf2_core kvm_intel v4l2_common kvm rtsx_usb videodev iTCO_wdt media iTCO_vendor_support arc4 crct10dif_pclmul crc32_pclmul crc32c_intel ghash_clmulni_intel aesni_intel aes_x86_64 glue_helper lrw gf128mul ablk_helper cryptd nouveau [ 4.896007] [drm:drm_mode_setcrtc] [CRTC:12] [ 4.896009] [drm:intel_crtc_set_config] [CRTC:12] [NOFB] [ 4.896011] snd_hda_intel iwldvm [ 4.896013] [drm:intel_set_config_compute_mode_changes] computed changes for [CRTC:12], mode_changed=0, fb_changed=0 [ 4.896014] [drm:intel_modeset_stage_output_state] [CONNECTOR:21:eDP-1] to [CRTC:8] [ 4.896016] snd_hda_controller [ 4.896017] evdev mac80211 [ 4.896018] [drm:drm_mode_setcrtc] [CRTC:16] [ 4.896018] psmouse [ 4.896019] serio_raw mac_hid pcspkr snd_hda_codec i2c_i801 [ 4.896023] [drm:intel_crtc_set_config] [CRTC:16] [NOFB] [ 4.896025] [drm:intel_set_config_compute_mode_changes] computed changes for [CRTC:16], mode_changed=0, fb_changed=0 [ 4.896026] [drm:intel_modeset_stage_output_state] [CONNECTOR:21:eDP-1] to [CRTC:8] [ 4.896027] mxm_wmi i915 ttm snd_hwdep iwlwifi lpc_ich snd_pcm mfd_core snd_timer snd cfg80211 soundcore mei_me mei thermal int3403_thermal fan button i2c_algo_bit drm_kms_helper battery int3400_thermal drm acpi_thermal_rel int3402_thermal i2c_core ac tpm_tis intel_gtt tpm processor shpchp sch_fq_codel ext4 crc16 mbcache jbd2 sd_mod atkbd libps2 xhci_pci ahci xhci_hcd libahci libata ehci_pci ehci_hcd scsi_mod usbcore usb_common i8042 serio asus_nb_wmi asus_wmi hwmon video rfkill sparse_keymap wmi led_class [ 4.896064] CPU: 1 PID: 248 Comm: irq/31-i915 Not tainted 3.18.0-rc2-ARCH-00117-gbbf0ef0 #1 [ 4.896066] Hardware name: ASUSTeK COMPUTER INC. UX32VD/UX32VD, BIOS UX32VD.213 11/16/2012 [ 4.896068] 0000000000000000 000000000bcd9f26 ffff8800c47cbcd8 ffffffff8152d52f [ 4.896071] 0000000000000000 0000000000000000 ffff8800c47cbd18 ffffffff81071bc1 [ 4.896074] 0000000000000045 ffff8800c4ffb000 ffff8801287ff800 ffff8801287ff800 [ 4.896077] Call Trace: [ 4.896083] [<ffffffff8152d52f>] dump_stack+0x4e/0x71 [ 4.896088] [<ffffffff81071bc1>] warn_slowpath_common+0x81/0xa0 [ 4.896092] [<ffffffff81071cda>] warn_slowpath_null+0x1a/0x20 [ 4.896107] [<ffffffffa0466019>] intel_check_page_flip+0x99/0xe0 [i915] [ 4.896122] [<ffffffffa04382c0>] ironlake_irq_handler+0x450/0x10b0 [i915] [ 4.896127] [<ffffffff8109d39a>] ? do_set_cpus_allowed+0x4a/0x60 [ 4.896131] [<ffffffff8109dfdb>] ? set_cpus_allowed_ptr+0x8b/0x160 [ 4.896135] [<ffffffff810caa50>] ? irq_thread_fn+0x50/0x50 [ 4.896138] [<ffffffff810caa7e>] irq_forced_thread_fn+0x2e/0x70 [ 4.896141] [<ffffffff810cada7>] irq_thread+0x157/0x180 [ 4.896144] [<ffffffff810cab90>] ? wake_threads_waitq+0x30/0x30 [ 4.896147] [<ffffffff810cac50>] ? irq_thread_dtor+0xc0/0xc0 [ 4.896150] [<ffffffff8108fdba>] kthread+0xea/0x100 [ 4.896154] [<ffffffff8108fcd0>] ? kthread_create_on_node+0x1c0/0x1c0 [ 4.896158] [<ffffffff81532ffc>] ret_from_fork+0x7c/0xb0 [ 4.896161] [<ffffffff8108fcd0>] ? kthread_create_on_node+0x1c0/0x1c0 [ 4.896163] ---[ end trace 517950ad6ce39e66 ]---
Do we consider !in_irq() unreliable then? Or are we missing some magic in our interrupt handler setup? -Chris
dri-devel@lists.freedesktop.org