* i915 lockup / extreme delay
@ 2010-03-20 13:41 Karl Vogel
2010-03-20 13:52 ` Rafael J. Wysocki
2010-03-22 4:20 ` Eric Anholt
0 siblings, 2 replies; 8+ messages in thread
From: Karl Vogel @ 2010-03-20 13:41 UTC (permalink / raw)
To: linux-kernel
I have been experiencing a very sluggish X server right after starting
my laptop. The effect goes away after a few minutes, so it was rather
hard to track down.
Recently after updating WINE to a newer release, I've been able to
trigger the effect by running a certain game under wine on a remote
computer and using VirtualGL to transport the GL display to my laptop.
As I first thought the issue was somewhere with wine/virtualgl, I posted
the question to the virtualgl mailing list. The thread is here:
http://thread.gmane.org/gmane.comp.video.opengl.virtualgl.user/170
But after some further investigation, it seems the issue is with the
i915 driver.
The 'effect' is that only the mouse pointer works in the X server. The
cpu usage on the laptop during the sluggishness is minimal. When I
suspend the game with winedbg, the X server slowly becomes responsive again.
The output from latencytop seems to point to i915 being the culprit:
Cause Maximum Percentage
[i915_gem_sw_finish_ioctl] 3880.2 msec 51.0 %
Throttling GPU while waiting for commands 1337.6 msec 12.1 %
[i915_gem_set_domain_ioctl] 739.6 msec 10.3 %
mmaping memory 275.0 msec 0.9 %
Scheduler: waiting for cpu 106.1 msec 3.8 %
Executing raw SCSI command 105.4 msec 0.8 %
fsync() on a file (type 'F' for details) 84.5 msec 0.5 %
[i915_gem_do_execbuffer] 19.7 msec 0.4 %
[i915_gem_pwrite_ioctl] 19.7 msec 0.4 %
--
Cause Maximum Percentage
[i915_gem_sw_finish_ioctl] 4181.0 msec 57.5 %
[i915_gem_set_domain_ioctl] 3395.2 msec 35.0 %
Throttling GPU while waiting for commands 742.0 msec 2.7 %
[i915_gem_create_ioctl] 19.7 msec 0.1 %
[i915_gem_busy_ioctl] 19.7 msec 0.4 %
[i915_gem_pwrite_ioctl] 19.6 msec 0.3 %
[i915_gem_madvise_ioctl] 19.6 msec 1.4 %
[i915_gem_do_execbuffer] 19.4 msec 0.1 %
[i915_do_wait_request] 5.0 msec 0.2 %
--
Cause Maximum Percentage
[i915_gem_set_domain_ioctl] 4609.5 msec 32.8 %
[i915_gem_sw_finish_ioctl] 3316.7 msec 52.0 %
[i915_gem_create_ioctl] 744.1 msec 3.0 %
synchronous write 345.9 msec 1.3 %
Executing a program 109.7 msec 0.4 %
fsync() on a file (type 'F' for details) 87.6 msec 1.0 %
Page fault 86.1 msec 0.8 %
Writing a page to disk 20.1 msec 0.4 %
[i915_gem_madvise_ioctl] 19.7 msec 3.4 %
These were taken on a Fedora 12 kernel v2.6.32.9-70
I also tried to reproduce it with the latest kernel v2.6.34-rc2, but
it's much worse with that one, since it causes the laptop to completely
lockup when I start the game!
I've tried to enable some extra kernel debug options and also setup
netconsole to see if there is anything reported before the lockup, but
unfortunately there's no output.
--
Some hardware details:
00:02.0 VGA compatible controller: Intel Corporation Mobile 4 Series
Chipset Integrated Graphics Controller (rev 07) (prog-if 00 [VGA
controller])
Subsystem: Dell Device 024f
Flags: bus master, fast devsel, latency 0, IRQ 31
Memory at f6c00000 (64-bit, non-prefetchable) [size=4M]
Memory at e0000000 (64-bit, prefetchable) [size=256M]
I/O ports at ef98 [size=8]
Expansion ROM at <unassigned> [disabled]
Capabilities: <access denied>
Kernel driver in use: i915
Kernel modules: i915
00:02.1 Display controller: Intel Corporation Mobile 4 Series Chipset
Integrated Graphics Controller (rev 07)
Subsystem: Dell Device 024f
Flags: bus master, fast devsel, latency 0
Memory at f6b00000 (64-bit, non-prefetchable) [size=1M]
Capabilities: <access denied>
X.Org X Server 1.7.5.902 (1.7.6 RC 2)
Release Date: 2010-03-12
X Protocol Version 11, Revision 0
(--) PCI:*(0:0:2:0) 8086:2a42:1028:024f Intel Corporation Mobile 4
Series Chipset Integrated Graphics Controller rev 7, Mem @
0xf6c00000/4194304, 0xe0000000/268435456, I/O @ 0x0000ef98/8, BIOS @
0x????????/131072
(--) PCI: (0:0:2:1) 8086:2a43:1028:024f Intel Corporation Mobile 4
Series Chipset Integrated Graphics Controller rev 7, Mem @
0xf6b00000/1048576, BIOS @ 0x????????/65536
(II) LoadModule: "intel"
(II) Loading /usr/lib64/xorg/modules/drivers/intel_drv.so
(II) Module intel: vendor="X.Org Foundation"
compiled for 1.7.0, module version = 2.9.1
Module class: X.Org Video Driver
ABI class: X.Org Video Driver, version 6.0
(II) intel: Driver for Intel Integrated Graphics Chipsets: i810,
i810-dc100, i810e, i815, i830M, 845G, 852GM/855GM, 865G, 915G,
E7221 (i915), 915GM, 945G, 945GM, 945GME, Pineview GM, Pineview G,
965G, G35, 965Q, 946GZ, 965GM, 965GME/GLE, G33, Q35, Q33, GM45,
4 Series, G45/G43, Q45/Q43, G41, B43, Clarkdale, Arrandale
(II) Primary Device is: PCI 00@00:02:0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 9, (OK)
drmOpenByBusid: Searching for BusID pci:0000:00:02.0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 9, (OK)
drmOpenByBusid: drmOpenMinor returns 9
drmOpenByBusid: drmGetBusid reports pci:0000:00:02.0
(**) intel(0): Depth 24, (--) framebuffer bpp 32
(==) intel(0): RGB weight 888
(==) intel(0): Default visual is TrueColor
(II) intel(0): Integrated Graphics Chipset: Intel(R) GM45
(--) intel(0): Chipset: "GM45"
(II) intel(0): Output LVDS1 has no monitor section
(II) intel(0): found backlight control interface
/sys/class/backlight/acpi_video0
(II) intel(0): Output VGA1 has no monitor section
(II) intel(0): Output HDMI1 has no monitor section
(II) intel(0): Output DP1 has no monitor section
(II) intel(0): Output HDMI2 has no monitor section
(II) intel(0): Output DP2 has no monitor section
(II) intel(0): Output DP3 has no monitor section
(II) intel(0): Output TV1 has no monitor section
(II) intel(0): EDID for output LVDS1
(II) intel(0): Manufacturer: SEC Model: 5443 Serial#: 0
(II) intel(0): Year: 2008 Week: 0
(II) intel(0): EDID Version: 1.3
(II) intel(0): Digital Display Input
(II) intel(0): Max Image Size [cm]: horiz.: 33 vert.: 21
(II) intel(0): Gamma: 2.20
(II) intel(0): No DPMS capabilities specified
(II) intel(0): Supported color encodings: RGB 4:4:4 YCrCb 4:4:4
(II) intel(0): First detailed timing is preferred mode
(II) intel(0): redX: 0.580 redY: 0.340 greenX: 0.310 greenY: 0.550
(II) intel(0): blueX: 0.155 blueY: 0.155 whiteX: 0.313 whiteY: 0.329
(II) intel(0): Manufacturer's mask: 0
(II) intel(0): Supported detailed timing:
(II) intel(0): clock: 164.2 MHz Image Size: 331 x 207 mm
(II) intel(0): h_active: 1920 h_sync: 2020 h_sync_end 2052 h_blank_end
2216 h_border: 0
(II) intel(0): v_active: 1200 v_sync: 1202 v_sync_end 1208 v_blanking:
1235 v_border: 0
(II) intel(0): Supported detailed timing:
(II) intel(0): clock: 109.5 MHz Image Size: 331 x 207 mm
(II) intel(0): h_active: 1920 h_sync: 2020 h_sync_end 2052 h_blank_end
2216 h_border: 0
(II) intel(0): v_active: 1200 v_sync: 1202 v_sync_end 1208 v_blanking:
1235 v_border: 0
(II) intel(0): RX392<80>154CT
(II) intel(0):
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: i915 lockup / extreme delay
2010-03-20 13:41 i915 lockup / extreme delay Karl Vogel
@ 2010-03-20 13:52 ` Rafael J. Wysocki
2010-03-22 4:20 ` Eric Anholt
1 sibling, 0 replies; 8+ messages in thread
From: Rafael J. Wysocki @ 2010-03-20 13:52 UTC (permalink / raw)
To: Karl Vogel; +Cc: linux-kernel, dri-devel, Jesse Barnes, Eric Anholt
[Adding CCs]
On Saturday 20 March 2010, Karl Vogel wrote:
> I have been experiencing a very sluggish X server right after starting
> my laptop. The effect goes away after a few minutes, so it was rather
> hard to track down.
>
> Recently after updating WINE to a newer release, I've been able to
> trigger the effect by running a certain game under wine on a remote
> computer and using VirtualGL to transport the GL display to my laptop.
> As I first thought the issue was somewhere with wine/virtualgl, I posted
> the question to the virtualgl mailing list. The thread is here:
>
> http://thread.gmane.org/gmane.comp.video.opengl.virtualgl.user/170
>
> But after some further investigation, it seems the issue is with the
> i915 driver.
>
> The 'effect' is that only the mouse pointer works in the X server. The
> cpu usage on the laptop during the sluggishness is minimal. When I
> suspend the game with winedbg, the X server slowly becomes responsive again.
>
> The output from latencytop seems to point to i915 being the culprit:
>
> Cause Maximum Percentage
> [i915_gem_sw_finish_ioctl] 3880.2 msec 51.0 %
> Throttling GPU while waiting for commands 1337.6 msec 12.1 %
> [i915_gem_set_domain_ioctl] 739.6 msec 10.3 %
> mmaping memory 275.0 msec 0.9 %
> Scheduler: waiting for cpu 106.1 msec 3.8 %
> Executing raw SCSI command 105.4 msec 0.8 %
> fsync() on a file (type 'F' for details) 84.5 msec 0.5 %
> [i915_gem_do_execbuffer] 19.7 msec 0.4 %
> [i915_gem_pwrite_ioctl] 19.7 msec 0.4 %
>
>
> --
> Cause Maximum Percentage
> [i915_gem_sw_finish_ioctl] 4181.0 msec 57.5 %
> [i915_gem_set_domain_ioctl] 3395.2 msec 35.0 %
> Throttling GPU while waiting for commands 742.0 msec 2.7 %
> [i915_gem_create_ioctl] 19.7 msec 0.1 %
> [i915_gem_busy_ioctl] 19.7 msec 0.4 %
> [i915_gem_pwrite_ioctl] 19.6 msec 0.3 %
> [i915_gem_madvise_ioctl] 19.6 msec 1.4 %
> [i915_gem_do_execbuffer] 19.4 msec 0.1 %
> [i915_do_wait_request] 5.0 msec 0.2 %
>
> --
> Cause Maximum Percentage
> [i915_gem_set_domain_ioctl] 4609.5 msec 32.8 %
> [i915_gem_sw_finish_ioctl] 3316.7 msec 52.0 %
> [i915_gem_create_ioctl] 744.1 msec 3.0 %
> synchronous write 345.9 msec 1.3 %
> Executing a program 109.7 msec 0.4 %
> fsync() on a file (type 'F' for details) 87.6 msec 1.0 %
> Page fault 86.1 msec 0.8 %
> Writing a page to disk 20.1 msec 0.4 %
> [i915_gem_madvise_ioctl] 19.7 msec 3.4 %
>
>
>
> These were taken on a Fedora 12 kernel v2.6.32.9-70
> I also tried to reproduce it with the latest kernel v2.6.34-rc2, but
> it's much worse with that one, since it causes the laptop to completely
> lockup when I start the game!
>
> I've tried to enable some extra kernel debug options and also setup
> netconsole to see if there is anything reported before the lockup, but
> unfortunately there's no output.
>
> --
> Some hardware details:
>
>
> 00:02.0 VGA compatible controller: Intel Corporation Mobile 4 Series
> Chipset Integrated Graphics Controller (rev 07) (prog-if 00 [VGA
> controller])
> Subsystem: Dell Device 024f
> Flags: bus master, fast devsel, latency 0, IRQ 31
> Memory at f6c00000 (64-bit, non-prefetchable) [size=4M]
> Memory at e0000000 (64-bit, prefetchable) [size=256M]
> I/O ports at ef98 [size=8]
> Expansion ROM at <unassigned> [disabled]
> Capabilities: <access denied>
> Kernel driver in use: i915
> Kernel modules: i915
>
> 00:02.1 Display controller: Intel Corporation Mobile 4 Series Chipset
> Integrated Graphics Controller (rev 07)
> Subsystem: Dell Device 024f
> Flags: bus master, fast devsel, latency 0
> Memory at f6b00000 (64-bit, non-prefetchable) [size=1M]
> Capabilities: <access denied>
>
>
> X.Org X Server 1.7.5.902 (1.7.6 RC 2)
> Release Date: 2010-03-12
> X Protocol Version 11, Revision 0
>
> (--) PCI:*(0:0:2:0) 8086:2a42:1028:024f Intel Corporation Mobile 4
> Series Chipset Integrated Graphics Controller rev 7, Mem @
> 0xf6c00000/4194304, 0xe0000000/268435456, I/O @ 0x0000ef98/8, BIOS @
> 0x????????/131072
> (--) PCI: (0:0:2:1) 8086:2a43:1028:024f Intel Corporation Mobile 4
> Series Chipset Integrated Graphics Controller rev 7, Mem @
> 0xf6b00000/1048576, BIOS @ 0x????????/65536
>
> (II) LoadModule: "intel"
> (II) Loading /usr/lib64/xorg/modules/drivers/intel_drv.so
> (II) Module intel: vendor="X.Org Foundation"
> compiled for 1.7.0, module version = 2.9.1
> Module class: X.Org Video Driver
> ABI class: X.Org Video Driver, version 6.0
> (II) intel: Driver for Intel Integrated Graphics Chipsets: i810,
> i810-dc100, i810e, i815, i830M, 845G, 852GM/855GM, 865G, 915G,
> E7221 (i915), 915GM, 945G, 945GM, 945GME, Pineview GM, Pineview G,
> 965G, G35, 965Q, 946GZ, 965GM, 965GME/GLE, G33, Q35, Q33, GM45,
> 4 Series, G45/G43, Q45/Q43, G41, B43, Clarkdale, Arrandale
> (II) Primary Device is: PCI 00@00:02:0
> drmOpenDevice: node name is /dev/dri/card0
> drmOpenDevice: open result is 9, (OK)
> drmOpenByBusid: Searching for BusID pci:0000:00:02.0
> drmOpenDevice: node name is /dev/dri/card0
> drmOpenDevice: open result is 9, (OK)
> drmOpenByBusid: drmOpenMinor returns 9
> drmOpenByBusid: drmGetBusid reports pci:0000:00:02.0
> (**) intel(0): Depth 24, (--) framebuffer bpp 32
> (==) intel(0): RGB weight 888
> (==) intel(0): Default visual is TrueColor
> (II) intel(0): Integrated Graphics Chipset: Intel(R) GM45
> (--) intel(0): Chipset: "GM45"
> (II) intel(0): Output LVDS1 has no monitor section
> (II) intel(0): found backlight control interface
> /sys/class/backlight/acpi_video0
> (II) intel(0): Output VGA1 has no monitor section
> (II) intel(0): Output HDMI1 has no monitor section
> (II) intel(0): Output DP1 has no monitor section
> (II) intel(0): Output HDMI2 has no monitor section
> (II) intel(0): Output DP2 has no monitor section
> (II) intel(0): Output DP3 has no monitor section
> (II) intel(0): Output TV1 has no monitor section
> (II) intel(0): EDID for output LVDS1
> (II) intel(0): Manufacturer: SEC Model: 5443 Serial#: 0
> (II) intel(0): Year: 2008 Week: 0
> (II) intel(0): EDID Version: 1.3
> (II) intel(0): Digital Display Input
> (II) intel(0): Max Image Size [cm]: horiz.: 33 vert.: 21
> (II) intel(0): Gamma: 2.20
> (II) intel(0): No DPMS capabilities specified
> (II) intel(0): Supported color encodings: RGB 4:4:4 YCrCb 4:4:4
> (II) intel(0): First detailed timing is preferred mode
> (II) intel(0): redX: 0.580 redY: 0.340 greenX: 0.310 greenY: 0.550
> (II) intel(0): blueX: 0.155 blueY: 0.155 whiteX: 0.313 whiteY: 0.329
> (II) intel(0): Manufacturer's mask: 0
> (II) intel(0): Supported detailed timing:
> (II) intel(0): clock: 164.2 MHz Image Size: 331 x 207 mm
> (II) intel(0): h_active: 1920 h_sync: 2020 h_sync_end 2052 h_blank_end
> 2216 h_border: 0
> (II) intel(0): v_active: 1200 v_sync: 1202 v_sync_end 1208 v_blanking:
> 1235 v_border: 0
> (II) intel(0): Supported detailed timing:
> (II) intel(0): clock: 109.5 MHz Image Size: 331 x 207 mm
> (II) intel(0): h_active: 1920 h_sync: 2020 h_sync_end 2052 h_blank_end
> 2216 h_border: 0
> (II) intel(0): v_active: 1200 v_sync: 1202 v_sync_end 1208 v_blanking:
> 1235 v_border: 0
> (II) intel(0): RX392<80>154CT
> (II) intel(0):
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: i915 lockup / extreme delay
2010-03-20 13:41 i915 lockup / extreme delay Karl Vogel
2010-03-20 13:52 ` Rafael J. Wysocki
@ 2010-03-22 4:20 ` Eric Anholt
2010-03-22 8:11 ` Karl Vogel
1 sibling, 1 reply; 8+ messages in thread
From: Eric Anholt @ 2010-03-22 4:20 UTC (permalink / raw)
To: Karl Vogel, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 1364 bytes --]
On Sat, 20 Mar 2010 14:41:41 +0100, Karl Vogel <karl.vogel@gmail.com> wrote:
> I have been experiencing a very sluggish X server right after starting
> my laptop. The effect goes away after a few minutes, so it was rather
> hard to track down.
>
> Recently after updating WINE to a newer release, I've been able to
> trigger the effect by running a certain game under wine on a remote
> computer and using VirtualGL to transport the GL display to my laptop.
> As I first thought the issue was somewhere with wine/virtualgl, I posted
> the question to the virtualgl mailing list. The thread is here:
>
> http://thread.gmane.org/gmane.comp.video.opengl.virtualgl.user/170
>
> But after some further investigation, it seems the issue is with the
> i915 driver.
>
> The 'effect' is that only the mouse pointer works in the X server. The
> cpu usage on the laptop during the sluggishness is minimal. When I
> suspend the game with winedbg, the X server slowly becomes responsive again.
>
> The output from latencytop seems to point to i915 being the culprit:
If there's some code doing glFlush()es, it's probably that code at
fault. You don't need to do that unless you're doing frontbuffer
rendering, and if you're doing frontbuffer rendering you should really
be doing backbuffer rendering. I don't see a kernel issue here.
[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: i915 lockup / extreme delay
2010-03-22 4:20 ` Eric Anholt
@ 2010-03-22 8:11 ` Karl Vogel
2010-03-22 15:34 ` Eric Anholt
0 siblings, 1 reply; 8+ messages in thread
From: Karl Vogel @ 2010-03-22 8:11 UTC (permalink / raw)
To: Eric Anholt; +Cc: linux-kernel
On Mon, Mar 22, 2010 at 5:20 AM, Eric Anholt <eric@anholt.net> wrote:
> On Sat, 20 Mar 2010 14:41:41 +0100, Karl Vogel <karl.vogel@gmail.com> wrote:
>> The 'effect' is that only the mouse pointer works in the X server. The
>> cpu usage on the laptop during the sluggishness is minimal. When I
>> suspend the game with winedbg, the X server slowly becomes responsive again.
>>
>> The output from latencytop seems to point to i915 being the culprit:
>
> If there's some code doing glFlush()es, it's probably that code at
> fault. You don't need to do that unless you're doing frontbuffer
> rendering, and if you're doing frontbuffer rendering you should really
> be doing backbuffer rendering. I don't see a kernel issue here.
That doesnt explain why the box completely locks up on 2.6.34-rc2
though, where only a cold reboot works.
It also seems a bit odd that 1 opengl application is able to entirely
lockup user interaction of the X server, then again that might be more
of an X issue than a kernel one.. or is it expected behaviour?
(the only thing you can do is wiggle the pointer, nothing else.. no
window selection, no window dragging, not even start new apps that
open windows)
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: i915 lockup / extreme delay
2010-03-22 8:11 ` Karl Vogel
@ 2010-03-22 15:34 ` Eric Anholt
2010-03-27 9:54 ` Karl Vogel
0 siblings, 1 reply; 8+ messages in thread
From: Eric Anholt @ 2010-03-22 15:34 UTC (permalink / raw)
To: Karl Vogel; +Cc: linux-kernel
[-- Attachment #1: Type: text/plain, Size: 1037 bytes --]
On Mon, 22 Mar 2010 09:11:06 +0100, Karl Vogel <karl.vogel@gmail.com> wrote:
> On Mon, Mar 22, 2010 at 5:20 AM, Eric Anholt <eric@anholt.net> wrote:
> > On Sat, 20 Mar 2010 14:41:41 +0100, Karl Vogel <karl.vogel@gmail.com> wrote:
> >> The 'effect' is that only the mouse pointer works in the X server. The
> >> cpu usage on the laptop during the sluggishness is minimal. When I
> >> suspend the game with winedbg, the X server slowly becomes responsive again.
> >>
> >> The output from latencytop seems to point to i915 being the culprit:
> >
> > If there's some code doing glFlush()es, it's probably that code at
> > fault. You don't need to do that unless you're doing frontbuffer
> > rendering, and if you're doing frontbuffer rendering you should really
> > be doing backbuffer rendering. I don't see a kernel issue here.
>
> That doesnt explain why the box completely locks up on 2.6.34-rc2
> though, where only a cold reboot works.
Missed that part of the message. If there's a regression, bisect
please.
[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: i915 lockup / extreme delay
2010-03-22 15:34 ` Eric Anholt
@ 2010-03-27 9:54 ` Karl Vogel
2010-04-01 13:09 ` Andy Lutomirski
0 siblings, 1 reply; 8+ messages in thread
From: Karl Vogel @ 2010-03-27 9:54 UTC (permalink / raw)
To: Eric Anholt; +Cc: linux-kernel
On Mon, Mar 22, 2010 at 4:34 PM, Eric Anholt <eric@anholt.net> wrote:> On Mon, 22 Mar 2010 09:11:06 +0100, Karl Vogel <karl.vogel@gmail.com> wrote:>> On Mon, Mar 22, 2010 at 5:20 AM, Eric Anholt <eric@anholt.net> wrote:>> > On Sat, 20 Mar 2010 14:41:41 +0100, Karl Vogel <karl.vogel@gmail.com> wrote:>> >> The 'effect' is that only the mouse pointer works in the X server. The>> >> cpu usage on the laptop during the sluggishness is minimal. When I>> >> suspend the game with winedbg, the X server slowly becomes responsive again.>> >>>> >> The output from latencytop seems to point to i915 being the culprit:>> >>> > If there's some code doing glFlush()es, it's probably that code at>> > fault. You don't need to do that unless you're doing frontbuffer>> > rendering, and if you're doing frontbuffer rendering you should really>> > be doing backbuffer rendering. I don't see a kernel issue here.>>>> That doesnt explain why the box completely locks up on 2.6.34-rc2>> though, where only a cold reboot works.>> Missed that part of the message. If there's a regression, bisect> please.
Apparently the crash was caused by a hardware bug in the intel chipsetwhich is 8086:2a40 rev 07. While doing the bisect I got an error:
DRHD: handling fault status reg 2DMAR:[DMA Write] Request device [00:02.0] fault addr dd69a000DMAR:[fault reason 05] PTE Write access is not set
After some googling around, I found this bugzilla entry which explains it:
https://bugzilla.redhat.com/show_bug.cgi?id=538163#c58
The issue appears that the graphics chip is corrupting memory:
"Unfortunately, this particular chipset sometimes reads from the GTT, does thetranslation, then writes the translated address back to the _original_ GTTinstead of to the shadow GTT. That's why you're seeing real physical addresseswhere you should have 'virtual DMA addresses', and you get the faults. "
Adding "intel_iommu=igfx_off" to the kernel command line resolved the issue.The fedora kernel automatically disables this when it detects this particularchipset revision.
As for the freeze/slowdown right after booting, sysprof shows that more than 77%of the time is spent inside: drm_mode_getconnector
[/usr/bin/Xorg] 0.00% 80.29% ioctl 0.00% 78.47% - - kernel - - 0.01% 78.47% system_call_fastpath 0.00% 77.15% sys_ioctl 0.00% 77.15% do_vfs_ioctl 0.01% 77.15% vfs_ioctl 0.00% 77.14% drm_ioctl 0.01% 77.14% drm_mode_getconnector 0.00% 77.02% drm_helper_probe_single_connector_modes 0.00% 77.02% intel_lvds_get_modes 0.00% 62.46% intel_ddc_get_modes 0.00% 62.46% drm_get_edid 0.00% 62.45% drm_ddc_read_edid 0.00% 62.45% drm_do_probe_ddc_edid 0.00% 62.45% i2c_transfer 0.00% 62.45% bit_xfer 0.01% 62.44% sclhi 0.00% 25.76% set_clock 0.08% 12.86% __udelay 0.00% 12.78% get_clock 0.11% 0.11% __const_udelay 0.01% 0.01% set_clock 0.12% 12.54% __const_udelay 0.01% 12.42% __delay 0.00% 0.00% __udelay 0.00% 12.08% acknak 0.00% 7.68% sdahi 0.01% 2.30% try_address 0.00% 1.20% i2c_outb 0.00% 0.59% get_data 0.11% 0.11% i2c_stop 0.00% 0.09% i2c_repstart 0.00% 0.07% i2c_start 0.00% 0.01% __const_udelay 0.01% 0.01% __udelay 0.01% 0.01% drm_add_edid_modes 0.00% 0.00% drm_mode_connector_update_edid_property 0.00% 0.00% intel_hdmi_detect 0.00% 8.01% intel_dp_detect 0.00% 4.91% intel_tv_detect 0.00% 1.23% intel_lvds_detect 0.00% 0.38% intel_crt_detect 0.00% 0.03% drm_get_connector_name 0.00% 0.01% i915_gem_execbuffer 0.00% 0.06% i915_gem_mmap_ioctl 0.00% 0.01% i915_gem_set_domain_ioctl 0.00% 0.01% drm_gem_close_ioctl 0.00% 0.01% drm_mode_object_find 0.00% 0.00% i915_gem_busy_ioctl 0.00% 0.00% lock_kernel 0.00% 0.00% i915_gem_create_ioctl 0.00% 0.00% copy_to_user 0.00% 0.00% copy_user_generic_string 0.00% 0.00%ÿôèº{.nÇ+·®+%Ëÿ±éݶ\x17¥wÿº{.nÇ+·¥{±þG«éÿ{ayº\x1dÊÚë,j\a¢f£¢·hïêÿêçz_è®\x03(éÝ¢j"ú\x1a¶^[m§ÿÿ¾\a«þG«éÿ¢¸?¨èÚ&£ø§~á¶iOæ¬z·vØ^\x14\x04\x1a¶^[m§ÿÿÃ\fÿ¶ìÿ¢¸?I¥
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: i915 lockup / extreme delay
2010-03-27 9:54 ` Karl Vogel
@ 2010-04-01 13:09 ` Andy Lutomirski
2010-04-01 13:35 ` Karsten Wiese
0 siblings, 1 reply; 8+ messages in thread
From: Andy Lutomirski @ 2010-04-01 13:09 UTC (permalink / raw)
To: linux-kernel; +Cc: Eric Anholt, linux-kernel
Karl Vogel wrote:
> On Mon, Mar 22, 2010 at 4:34 PM, Eric Anholt <eric@anholt.net> wrote:
>> On Mon, 22 Mar 2010 09:11:06 +0100, Karl Vogel <karl.vogel@gmail.com> wrote:
>>> On Mon, Mar 22, 2010 at 5:20 AM, Eric Anholt <eric@anholt.net> wrote:
>>>> On Sat, 20 Mar 2010 14:41:41 +0100, Karl Vogel <karl.vogel@gmail.com> wrote:
>>>>> The 'effect' is that only the mouse pointer works in the X server. The
>>>>> cpu usage on the laptop during the sluggishness is minimal. When I
>>>>> suspend the game with winedbg, the X server slowly becomes responsive again.
>>>>>
>>>>> The output from latencytop seems to point to i915 being the culprit:
>>>> If there's some code doing glFlush()es, it's probably that code at
>>>> fault. You don't need to do that unless you're doing frontbuffer
>>>> rendering, and if you're doing frontbuffer rendering you should really
>>>> be doing backbuffer rendering. I don't see a kernel issue here.
>>> That doesnt explain why the box completely locks up on 2.6.34-rc2
>>> though, where only a cold reboot works.
>> Missed that part of the message. If there's a regression, bisect
>> please.
>
> Apparently the crash was caused by a hardware bug in the intel chipset
> which is 8086:2a40 rev 07. While doing the bisect I got an error:
>
> DRHD: handling fault status reg 2
> DMAR:[DMA Write] Request device [00:02.0] fault addr dd69a000
> DMAR:[fault reason 05] PTE Write access is not set
>
> After some googling around, I found this bugzilla entry which explains it:
>
> https://bugzilla.redhat.com/show_bug.cgi?id=538163#c58
>
> The issue appears that the graphics chip is corrupting memory:
>
> "Unfortunately, this particular chipset sometimes reads from the GTT, does the
> translation, then writes the translated address back to the _original_ GTT
> instead of to the shadow GTT. That's why you're seeing real physical addresses
> where you should have 'virtual DMA addresses', and you get the faults. "
>
> Adding "intel_iommu=igfx_off" to the kernel command line resolved the issue.
> The fedora kernel automatically disables this when it detects this particular
> chipset revision.
>
> As for the freeze/slowdown right after booting, sysprof shows that more than 77%
> of the time is spent inside: drm_mode_getconnector
http://lists.freedesktop.org/archives/intel-gfx/2010-February/005922.html
I'm waiting for the encoder/connector stuff to get merged before I
either pester people about that bug again or try to fix it myself.
You can try the same hack I use (comment out the initialization of all
digital outputs) if you don't use them -- that completely fixes it for me.
--Andy
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: i915 lockup / extreme delay
2010-04-01 13:09 ` Andy Lutomirski
@ 2010-04-01 13:35 ` Karsten Wiese
0 siblings, 0 replies; 8+ messages in thread
From: Karsten Wiese @ 2010-04-01 13:35 UTC (permalink / raw)
To: Andy Lutomirski; +Cc: linux-kernel, Eric Anholt
Am Donnerstag 01 April 2010 schrieb Andy Lutomirski:
> Karl Vogel wrote:
> > On Mon, Mar 22, 2010 at 4:34 PM, Eric Anholt <eric@anholt.net> wrote:
> >> On Mon, 22 Mar 2010 09:11:06 +0100, Karl Vogel <karl.vogel@gmail.com> wrote:
> >>> On Mon, Mar 22, 2010 at 5:20 AM, Eric Anholt <eric@anholt.net> wrote:
> >>>> On Sat, 20 Mar 2010 14:41:41 +0100, Karl Vogel <karl.vogel@gmail.com> wrote:
> >>>>> The 'effect' is that only the mouse pointer works in the X server. The
> >>>>> cpu usage on the laptop during the sluggishness is minimal. When I
> >>>>> suspend the game with winedbg, the X server slowly becomes responsive again.
> >>>>>
> >>>>> The output from latencytop seems to point to i915 being the culprit:
> >>>> If there's some code doing glFlush()es, it's probably that code at
> >>>> fault. You don't need to do that unless you're doing frontbuffer
> >>>> rendering, and if you're doing frontbuffer rendering you should really
> >>>> be doing backbuffer rendering. I don't see a kernel issue here.
> >>> That doesnt explain why the box completely locks up on 2.6.34-rc2
> >>> though, where only a cold reboot works.
> >> Missed that part of the message. If there's a regression, bisect
> >> please.
> >
> > Apparently the crash was caused by a hardware bug in the intel chipset
> > which is 8086:2a40 rev 07. While doing the bisect I got an error:
> >
> > DRHD: handling fault status reg 2
> > DMAR:[DMA Write] Request device [00:02.0] fault addr dd69a000
> > DMAR:[fault reason 05] PTE Write access is not set
> >
> > After some googling around, I found this bugzilla entry which explains it:
> >
> > https://bugzilla.redhat.com/show_bug.cgi?id=538163#c58
> >
> > The issue appears that the graphics chip is corrupting memory:
> >
> > "Unfortunately, this particular chipset sometimes reads from the GTT, does the
> > translation, then writes the translated address back to the _original_ GTT
> > instead of to the shadow GTT. That's why you're seeing real physical addresses
> > where you should have 'virtual DMA addresses', and you get the faults. "
> >
> > Adding "intel_iommu=igfx_off" to the kernel command line resolved the issue.
> > The fedora kernel automatically disables this when it detects this particular
> > chipset revision.
> >
> > As for the freeze/slowdown right after booting, sysprof shows that more than 77%
> > of the time is spent inside: drm_mode_getconnector
>
> http://lists.freedesktop.org/archives/intel-gfx/2010-February/005922.html
>
> I'm waiting for the encoder/connector stuff to get merged before I
> either pester people about that bug again or try to fix it myself.
>
> You can try the same hack I use (comment out the initialization of all
> digital outputs) if you don't use them -- that completely fixes it for me.
Andy, please try this patch.
Eric, please review.
Thanks,
Karsten
[RFC PATCH] drm/i915: Don't touch PORT_HOTPLUG_EN in intel_dp_detect()
Von: Karsten Wiese <fzuuzf@googlemail.com>
An: linux-kernel@vger.kernel.org, Jesse Barnes <jbarnes@virtuousgeek.org>, Eric Anholt <eric@anholt.net>
PORT_HOTPLUG_EN has allready been setup in i915_driver_irq_postinstall(),
when intel_dp_detect() runs.
Delete the DP[BCD]_HOTPLUG_INT_EN defines, they are not referenced anymore.
I found this while searching for a fix for
https://bugzilla.redhat.com/show_bug.cgi?id=528312
Signed-off-by: Karsten Wiese <fzu@wemgehoertderstaat.de>
---
See also
"drm/i915: only enable hotplug for detected outputs"
b01f2c3a4a37d09a47ad73ccbb46d554d21cfeb0
drivers/gpu/drm/i915/i915_reg.h | 3 ---
drivers/gpu/drm/i915/intel_dp.c | 10 ----------
2 files changed, 0 insertions(+), 13 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index ab1bd2d..92f440d 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -854,11 +854,8 @@
/* Hotplug control (945+ only) */
#define PORT_HOTPLUG_EN 0x61110
#define HDMIB_HOTPLUG_INT_EN (1 << 29)
-#define DPB_HOTPLUG_INT_EN (1 << 29)
#define HDMIC_HOTPLUG_INT_EN (1 << 28)
-#define DPC_HOTPLUG_INT_EN (1 << 28)
#define HDMID_HOTPLUG_INT_EN (1 << 27)
-#define DPD_HOTPLUG_INT_EN (1 << 27)
#define SDVOB_HOTPLUG_INT_EN (1 << 26)
#define SDVOC_HOTPLUG_INT_EN (1 << 25)
#define TV_HOTPLUG_INT_EN (1 << 18)
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index 439506c..7a3b5c8 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -1179,16 +1179,6 @@ intel_dp_detect(struct drm_connector *connector)
if (IS_IRONLAKE(dev))
return ironlake_dp_detect(connector);
- temp = I915_READ(PORT_HOTPLUG_EN);
-
- I915_WRITE(PORT_HOTPLUG_EN,
- temp |
- DPB_HOTPLUG_INT_EN |
- DPC_HOTPLUG_INT_EN |
- DPD_HOTPLUG_INT_EN);
-
- POSTING_READ(PORT_HOTPLUG_EN);
-
switch (dp_priv->output_reg) {
case DP_B:
bit = DPB_HOTPLUG_INT_STATUS;
--
^ permalink raw reply related [flat|nested] 8+ messages in thread
end of thread, other threads:[~2010-04-01 13:36 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-03-20 13:41 i915 lockup / extreme delay Karl Vogel
2010-03-20 13:52 ` Rafael J. Wysocki
2010-03-22 4:20 ` Eric Anholt
2010-03-22 8:11 ` Karl Vogel
2010-03-22 15:34 ` Eric Anholt
2010-03-27 9:54 ` Karl Vogel
2010-04-01 13:09 ` Andy Lutomirski
2010-04-01 13:35 ` Karsten Wiese
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox