Summary: | Stalls with RV635 with KMS | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | DRI | Reporter: | Shawn Starr <shawn.starr> | ||||||||||||||
Component: | DRM/Radeon | Assignee: | Default DRI bug account <dri-devel> | ||||||||||||||
Status: | RESOLVED INVALID | QA Contact: | |||||||||||||||
Severity: | normal | ||||||||||||||||
Priority: | medium | ||||||||||||||||
Version: | XOrg git | ||||||||||||||||
Hardware: | Other | ||||||||||||||||
OS: | All | ||||||||||||||||
Whiteboard: | |||||||||||||||||
i915 platform: | i915 features: | ||||||||||||||||
Attachments: |
|
Description
Shawn Starr
2010-01-17 13:43:14 UTC
Please see log file here, when using Second Life you can see the full RV635 DRM conversation output: http://www.sh0n.net/spstarr/radeon/rv635.debug.bz2 This pretty much shows from boot til the time I started Second Life and then exited. I can reproduce this on two RV635 GPUs one on laptop one in desktop PCIe form. Laptop GPU info: PCI ID: 1002:9591 01:00.0 VGA compatible controller: ATI Technologies Inc Mobility Radeon HD 3650 (prog-if 00 [VGA controller]) Subsystem: Lenovo Device 2127 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 0, Cache Line Size: 64 bytes Interrupt: pin A routed to IRQ 16 Region 0: Memory at d0000000 (32-bit, prefetchable) [size=256M] Region 1: I/O ports at 2000 [size=256] Region 2: Memory at cfff0000 (32-bit, non-prefetchable) [size=64K] [virtual] Expansion ROM at cff00000 [disabled] [size=128K] Capabilities: <access denied> Desktop GPU Info: PCI ID: 1002:9598 05:00.0 VGA compatible controller: ATI Technologies Inc Mobility Radeon HD 3600 Series (prog-if 00 [VGA controller]) Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+ Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 0, Cache Line Size: 32 bytes Interrupt: pin A routed to IRQ 32 Region 0: Memory at d0000000 (64-bit, prefetchable) [size=256M] Region 2: Memory at fe8e0000 (64-bit, non-prefetchable) [size=64K] Region 4: I/O ports at d000 [size=256] Expansion ROM at fe8c0000 [disabled] [size=128K] Capabilities: [50] Power Management version 3 Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME- Capabilities: [58] Express (v2) Legacy Endpoint, MSI 00 DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <4us, L1 unlimited ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset- DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported- RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+ MaxPayload 128 bytes, MaxReadReq 128 bytes DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend- LnkCap: Port #0, Speed 2.5GT/s, Width x16, ASPM L0s L1, Latency L0 <64ns, L1 <1us ClockPM- Surprise- LLActRep- BwNot- LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+ ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt- LnkSta: Speed 2.5GT/s, Width x16, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt- DevCap2: Completion Timeout: Not Supported, TimeoutDis- DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis-, Selectable De-emphasis: -6dB Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS- Compliance De-emphasis: -6dB LnkSta2: Current De-emphasis Level: -6dB Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit+ Address: 00000000fee0f00c Data: 41c1 Capabilities: [100] Vendor Specific Information <?> Kernel driver in use: radeon Full Laptop GPU info: 01:00.0 VGA compatible controller: ATI Technologies Inc Mobility Radeon HD 3650 (prog-if 00 [VGA controller]) Subsystem: Lenovo Device 2127 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 0, Cache Line Size: 64 bytes Interrupt: pin A routed to IRQ 16 Region 0: Memory at d0000000 (32-bit, prefetchable) [size=256M] Region 1: I/O ports at 2000 [size=256] Region 2: Memory at cfff0000 (32-bit, non-prefetchable) [size=64K] [virtual] Expansion ROM at cff00000 [disabled] [size=128K] Capabilities: [50] Power Management version 3 Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME- Capabilities: [58] Express (v2) Legacy Endpoint, MSI 00 DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <4us, L1 unlimited ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset- DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported- RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+ MaxPayload 128 bytes, MaxReadReq 128 bytes DevSta: CorrErr+ UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend- LnkCap: Port #0, Speed 2.5GT/s, Width x16, ASPM L0s L1, Latency L0 <64ns, L1 <1us ClockPM- Surprise- LLActRep- BwNot- LnkCtl: ASPM L0s L1 Enabled; RCB 64 bytes Disabled- Retrain- CommClk+ ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt- LnkSta: Speed 2.5GT/s, Width x16, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt- DevCap2: Completion Timeout: Not Supported, TimeoutDis- DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis-, Selectable De-emphasis: -6dB Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS- Compliance De-emphasis: -6dB LnkSta2: Current De-emphasis Level: -3.5dB Capabilities: [a0] MSI: Enable- Count=1/1 Maskable- 64bit+ Address: 0000000000000000 Data: 0000 Capabilities: [100] Vendor Specific Information <?> Created attachment 32691 [details] [review] DEBUG info for r6xx irq Please test the attached patch, reboot with drm.debug=0 activate kms, log into X and do whatever is trigger the stall, wait 5sec, and do from a terminal: dmesg > dmesg.txt and attach it to the bug thanks. Created attachment 32692 [details]
r635 dmesg with patch debug output
r635 dmesg with patch debug output
Created attachment 32694 [details] [review] Avoid irq contention ? Please try if this patch helps. I can reproduce this with 2.6.32.6 with KMS that is pre-IRQ. There are stalls happening here. We can remove IRQs from the equation. Resolution of screen is: 1920 x 1200 XRandr info: Screen 0: minimum 320 x 200, current 1920 x 1200, maximum 8192 x 8192 DVI-0 disconnected (normal left inverted right x axis y axis) LVDS connected 1920x1200+0+0 (normal left inverted right x axis y axis) 331mm x 207mm 1920x1200 60.0*+ 49.8 1920x1080 60.0 1600x1200 59.9 1680x1050 60.0 1400x1050 60.0 1280x1024 59.9 1440x900 59.9 1280x960 59.9 1280x854 59.9 1280x800 59.8 1280x720 59.9 1152x768 59.8 1024x768 59.9 800x600 59.9 848x480 59.7 720x480 59.7 640x480 59.4 DP disconnected (normal left inverted right x axis y axis) VGA-0 disconnected (normal left inverted right x axis y axis) Created attachment 32993 [details]
Kernel configuration I use
Some lock statistics http://people.freedesktop.org/~suokko/stalls_locl_stats Ok. I found out what is shown there now.
Documentation/lockstat.txt for explanation of all the fields.
Time values are in micro seconds. Read from shed_clock that returns
nanoseconds and in output divided by 1k.
So any value that is more than few thousands in hold time is causing
some user visible stalling if contented.
> --- Comment #10 from Jerome Glisse <glisse@freedesktop.org> 2010-02-08 02:52:28 PST ---
> Some lock statistics
> http://people.freedesktop.org/~suokko/stalls_locl_stats
>
>
Created attachment 33182 [details]
Lock stats over 10 minutes running game
Created attachment 33193 [details]
.config
I am having stall issues too for some time, it's getting worse (more frequent stalls and last longer. When running glx-gears (with kde4 composite on) and move the mouse around a bit I get this according to latencytop
radeon_ring_lock radeon_ib_schedule radeon_cs_ioct195.2 msec 0.9 %
Attached is my .config.
more about my setup, I am using kms with irq. kernel: drm-radeon-testing mesa: git ddx: git libdrm: git 00:0b.0 PCI bridge: nVidia Corporation nForce3 250Gb AGP Host to PCI Bridge (rev a2) 01:00.0 VGA compatible controller: ATI Technologies Inc RV670 AGP [Radeon HD 3850] CPU: model name : AMD Athlon(tm) 64 X2 Dual Core Processor 3800+ Close it, wait for r600 gallium 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.