[Intel-gfx] Lockup when switching displays using xrandr since kernel 3.5.x
Thilo-Alexander Ginkel
thilo at ginkel.com
Wed Oct 17 01:26:30 CEST 2012
Hi there,
since upgrading from kernel 3.4.10 to 3.5.x or 3.6.2 (on Kubuntu
12.04) I am getting sporadic (but frequent) lockups when switching
displays using xrandr:
/usr/bin/xrandr -d :0.0 --output LVDS1 --off --output HDMI3
--mode 1600x1200 --primary --auto
sleep 2
/usr/bin/xrandr -d :0.0 --output HDMI2 --mode 1600x1200
--right-of HDMI3 --auto
$ uname -a
Linux orion 3.6.2 #41 SMP Tue Oct 16 23:45:38 CEST 2012 x86_64 x86_64
x86_64 GNU/Linux
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation
Core Processor Family Integrated Graphics Controller (rev 09) (prog-if
00 [VGA controller])
Subsystem: Lenovo Device 21d2
Flags: bus master, fast devsel, latency 0, IRQ 46
Memory at f0000000 (64-bit, non-prefetchable) [size=4M]
Memory at e0000000 (64-bit, prefetchable) [size=256M]
I/O ports at 4000 [size=64]
Expansion ROM at <unassigned> [disabled]
Capabilities: <access denied>
Kernel driver in use: i915
Kernel modules: i915
When the lockup happens the local display is completely unresponsive,
but connecting via ssh shows the following stuck tasks:
[ 479.796787] INFO: task kworker/2:2:360 blocked for more than 120 seconds.
[ 479.796798] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs"
disables this message.
[ 479.796803] kworker/2:2 D 00000000ffffffff 0 360 2 0x00000000
[ 479.796815] ffff88020ffb7c30 0000000000000046 ffff88020fcfa080
ffff88020ffb7fd8
[ 479.796825] ffff88020ffb7fd8 ffff88020ffb7fd8 ffff8802148c2080
ffff88020fcfa080
[ 479.796834] ffff88020fcfa790 ffff88020000024a ffff88020fcfa740
0000000200000000
[ 479.796844] Call Trace:
[ 479.796862] [<ffffffff81097e11>] ? mark_held_locks+0x61/0x140
[ 479.796876] [<ffffffff815c44a5>] ? mutex_lock_nested+0x1e5/0x320
[ 479.796890] [<ffffffff815c5a64>] schedule+0x24/0x70
[ 479.796902] [<ffffffff815c5d79>] schedule_preempt_disabled+0x9/0x10
[ 479.796915] [<ffffffff815c4411>] mutex_lock_nested+0x151/0x320
[ 479.796956] [<ffffffffa00f79b1>] ? output_poll_execute+0x51/0x1a0
[drm_kms_helper]
[ 479.796973] [<ffffffffa00f79b1>] output_poll_execute+0x51/0x1a0
[drm_kms_helper]
[ 479.796984] [<ffffffff81060bba>] process_one_work+0x18a/0x520
[ 479.796992] [<ffffffff81060b5e>] ? process_one_work+0x12e/0x520
[ 479.797001] [<ffffffff812d2674>] ? do_raw_spin_lock+0x54/0x120
[ 479.797016] [<ffffffffa00f7960>] ?
drm_helper_connector_dpms+0x100/0x100 [drm_kms_helper]
[ 479.797032] [<ffffffff810613af>] worker_thread+0x18f/0x4f0
[ 479.797039] [<ffffffff815c6cfa>] ? _raw_spin_unlock_irqrestore+0x3a/0x70
[ 479.797047] [<ffffffff8109809d>] ? trace_hardirqs_on+0xd/0x10
[ 479.797055] [<ffffffff81061220>] ? rescuer_thread+0x290/0x290
[ 479.797063] [<ffffffff81066909>] kthread+0xa9/0xb0
[ 479.797069] [<ffffffff8109809d>] ? trace_hardirqs_on+0xd/0x10
[ 479.797078] [<ffffffff815cec44>] kernel_thread_helper+0x4/0x10
[ 479.797085] [<ffffffff815c70b0>] ? retint_restore_args+0x13/0x13
[ 479.797092] [<ffffffff81066860>] ? __init_kthread_worker+0x70/0x70
[ 479.797098] [<ffffffff815cec40>] ? gs_change+0x13/0x13
[ 479.797104] 3 locks held by kworker/2:2/360:
[ 479.797107] #0: (events_nrt){.+.+.+}, at: [<ffffffff81060b5e>]
process_one_work+0x12e/0x520
[ 479.797125] #1:
((&(&dev->mode_config.output_poll_work)->work)){+.+.+.}, at:
[<ffffffff81060b5e>] process_one_work+0x12e/0x520
[ 479.797140] #2: (&dev->mode_config.mutex){+.+.+.}, at:
[<ffffffffa00f79b1>] output_poll_execute+0x51/0x1a0 [drm_kms_helper]
[ 479.797185] INFO: task Xorg:1759 blocked for more than 120 seconds.
[ 479.797189] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs"
disables this message.
[ 479.797192] Xorg D 0000000000000000 0 1759 1716 0x00400004
[ 479.797201] ffff880211091898 0000000000000046 ffff880211999040
ffff880211091fd8
[ 479.797211] ffff880211091fd8 ffff880211091fd8 ffff8801dd9ea080
ffff880211999040
[ 479.797219] ffff880211999708 ffff880211999040 0000000000000007
0000000000000006
[ 479.797228] Call Trace:
[ 479.797235] [<ffffffff81097e11>] ? mark_held_locks+0x61/0x140
[ 479.797243] [<ffffffff815c6cfa>] ? _raw_spin_unlock_irqrestore+0x3a/0x70
[ 479.797249] [<ffffffff81097ffd>] ? trace_hardirqs_on_caller+0x10d/0x1a0
[ 479.797256] [<ffffffff8109809d>] ? trace_hardirqs_on+0xd/0x10
[ 479.797265] [<ffffffff815c5a64>] schedule+0x24/0x70
[ 479.797299] [<ffffffffa01253ad>]
intel_crtc_wait_for_pending_flips+0x6d/0xc0 [i915]
[ 479.797307] [<ffffffff81067190>] ? __init_waitqueue_head+0x60/0x60
[ 479.797337] [<ffffffffa0128f5d>] ironlake_crtc_disable+0x4d/0x7a0 [i915]
[ 479.797363] [<ffffffffa0129749>] ironlake_crtc_prepare+0x9/0x10 [i915]
[ 479.797379] [<ffffffffa00f7ebe>]
drm_crtc_helper_set_mode+0x35e/0x520 [drm_kms_helper]
[ 479.797403] [<ffffffffa00f8a1d>]
drm_crtc_helper_set_config+0x83d/0xaf0 [drm_kms_helper]
[ 479.797440] [<ffffffffa0071a1d>] drm_mode_setcrtc+0x2ed/0x540 [drm]
[ 479.797466] [<ffffffffa00622dc>] drm_ioctl+0x47c/0x540 [drm]
[ 479.797496] [<ffffffffa0071730>] ? drm_mode_setplane+0x3b0/0x3b0 [drm]
[ 479.797504] [<ffffffff81097ffd>] ? trace_hardirqs_on_caller+0x10d/0x1a0
[ 479.797515] [<ffffffff8114efc6>] do_vfs_ioctl+0x96/0x560
[ 479.797524] [<ffffffff815cdaa5>] ? sysret_check+0x22/0x5d
[ 479.797532] [<ffffffff8114f521>] sys_ioctl+0x91/0xa0
[ 479.797541] [<ffffffff815cda79>] system_call_fastpath+0x16/0x1b
[ 479.797546] 1 lock held by Xorg/1759:
[ 479.797549] #0: (&dev->mode_config.mutex){+.+.+.}, at:
[<ffffffffa0071796>] drm_mode_setcrtc+0x66/0x540 [drm]
dmesg: http://pastebin.com/p48xLmSc
lspci -vvv: http://pastebin.com/86RrRuKK
Xorg.log: http://pastebin.com/AvL7PC4U
Any ideas?
Thanks,
Thilo
More information about the Intel-gfx
mailing list