https://bugs.freedesktop.org/show_bug.cgi?id=29389
Summary: [r300g] [bisected] hard locks in openarena with kernel 2.6.35 Product: Mesa Version: git Platform: Other OS/Version: All Status: NEW Severity: normal Priority: medium Component: Drivers/DRI/r300 AssignedTo: dri-devel@lists.freedesktop.org ReportedBy: ghepeu@virgilio.it
Created an attachment (id=37557) --> (https://bugs.freedesktop.org/attachment.cgi?id=37557) git-bisect.log
Yesterday I upgraded to kernel 2.6.35 and I had a lockup after playing for a few second at openarena. The day before I had played for a few minutes without any issue (testing r300g) so I immediately suspected the kernel.
I'm using a radeon x550 (rv370) with yesterday git snapshot of mesa and xf86-video-ati and xorg-server 1.8.2.
Both r300c/DRI/UMS and r300c/DRI2/KMS dont' seem to suffer from the issue, only gallium. Nothing unusual in the logs.
I bisected from 2.6.34 (good) to 2.6.35 (bad) and git bisect pointed to commit eb1f8e4f3be898df808e2dfc131099f5831d491d
eb1f8e4f3be898df808e2dfc131099f5831d491d is the first bad commit commit eb1f8e4f3be898df808e2dfc131099f5831d491d Author: Dave Airlie airlied@redhat.com Date: Fri May 7 06:42:51 2010 +0000
drm/fbdev: rework output polling to be back in the core. (v4)
After thinking it over a lot it made more sense for the core to deal with the output polling especially so it can notify X.
v2: drop plans for fake connector - per Michel's comments - fix X patch sent to xorg-devel, add intel polled/hpd setting, add initial nouveau polled/hpd settings.
v3: add config lock take inside polling, add intel/nouveau poll init/fini calls
v4: config lock was a bit agressive, only needed around connector list reading. otherwise it could re-enter.
glisse: discard drm_helper_hpd_irq_event
v3: Reviewed-by: Michel Dänzer michel@daenzer.net Signed-off-by: Dave Airlie airlied@redhat.com
:040000 040000 01a1bf1ae4e06bfd3ae9ae67b5b5059e964f5ae4 041231a5c060e531ce0d8127c6f7abc79c14ce76 M drivers :040000 040000 b67fd6698fa239d26ca9fa2296ea2403e1eaaf1c cadb905c6d8647313107790ce8b681f4611ee726 M include
I had to skip a few revisions because opengl didn't work at all and one revision I'm not exactly sure it crashed for the same issue (the symptoms were slightly different, it crashed after maybe two minutes instead of 5-30s) so I'm not sure that that's the real culprit.
The bisection run took me a few hours and a lot of reboots, so I'm not exactly eager to try it again...
The full git bisect log is attached.
https://bugs.freedesktop.org/show_bug.cgi?id=29389
Giacomo Perale ghepeu@virgilio.it changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #37557|text/x-log |text/plain mime type| |
https://bugs.freedesktop.org/show_bug.cgi?id=29389
--- Comment #1 from Giacomo Perale ghepeu@virgilio.it 2010-08-19 07:05:58 PDT --- Created an attachment (id=37981) View: https://bugs.freedesktop.org/attachment.cgi?id=37981 Review: https://bugs.freedesktop.org/review?bug=29389&attachment=37981
add parameter to disable polling
I came back from vacation and found a patch from Chris Wilson in dri-devel who added a parameter to disable polling; since my bisection run pointed to the commit who enabled polling as the origin of my problem, I quickly adapted the patch to vanilla 2.6.35 to do some tests.
The patch is attached to this comment; to try it patch the kernel and boot with drm_kms_helper.poll=0; be careful, without this parameter sometime X refused to start here. Since this was only a test I didn't look too hard, I think it's related to the slow work->workqueues conversion.
Anyway, with polling disabled I was able to play with openarena for about 15 minutes, while with polling (without the patch) I had a hardlock in 30-60s.
Since this could be important, I have a VGA/DVI card and I'm using the DVI port, with nothing connected to the VGA port.
https://bugs.freedesktop.org/show_bug.cgi?id=29389
--- Comment #2 from Niels Ole Salscheider niels_ole@salscheider-online.de 2010-08-26 09:09:06 PDT --- I can confirm this problem. With polling disabled my computer does not lock up anymore.
https://bugs.freedesktop.org/show_bug.cgi?id=29389
Marek Olšák maraeo@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|[r300g] [bisected] hard |[r300g] [bisected] hard |locks in openarena with |locks with polling enabled |kernel 2.6.35 |in 2.6.35
https://bugs.freedesktop.org/show_bug.cgi?id=29389
Marek Olšák maraeo@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |bugzi09.fdo.tormod@xoxy.net
--- Comment #3 from Marek Olšák maraeo@gmail.com 2010-08-27 21:21:55 PDT --- *** Bug 28474 has been marked as a duplicate of this bug. ***
https://bugs.freedesktop.org/show_bug.cgi?id=29389
Matt Turner mattst88@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|Drivers/DRI/r300 |Drivers/Gallium/r300
https://bugs.freedesktop.org/show_bug.cgi?id=29389
--- Comment #4 from Dave Airlie airlied@freedesktop.org 2010-10-20 17:27:01 PDT --- can you attach a dmesg for the rv370 card?
and also what connectors you have monitors connected to.
https://bugs.freedesktop.org/show_bug.cgi?id=29389
--- Comment #5 from Dave Airlie airlied@freedesktop.org 2010-10-20 18:38:47 PDT --- Created an attachment (id=39604) View: https://bugs.freedesktop.org/attachment.cgi?id=39604 Review: https://bugs.freedesktop.org/review?bug=29389&attachment=39604
patch to disable polling DACs
does this patch help when booting with polling enabled?
https://bugs.freedesktop.org/show_bug.cgi?id=29389
--- Comment #6 from pj_beers@hotmail.com 2010-10-24 14:40:13 PDT --- I reported the same bug (I think) over here:
https://bugzilla.kernel.org/show_bug.cgi?id=20042
Your latest patch disabling polling DACs works for my, I applied it to 2.6.36-rc7 and then ran Penumbra Overture without any problem. I'm using rv380, not rv370 (according to dmesg). I've included dmesg output as an attachment.
Thanks very much for this patch!
https://bugs.freedesktop.org/show_bug.cgi?id=29389
--- Comment #7 from pj_beers@hotmail.com 2010-10-24 14:43:21 PDT --- Created an attachment (id=39745) --> (https://bugs.freedesktop.org/attachment.cgi?id=39745) dmesg 2.6.36-rc7 with disabled polling DACs patch, rv380
https://bugs.freedesktop.org/show_bug.cgi?id=29389
--- Comment #8 from Tomasz Czapiewski xeros@irc.pl 2010-10-25 01:51:53 PDT --- I have radeon module compilation errors with this patch applied on 2.6.35:
make: Entering directory `/usr/src/linux-headers-2.6.35-22-generic' CC [M] /usr/src/linux-source-2.6.35/linux-source-2.6.35/drivers/gpu/drm/radeon/radeon_drv.o CC [M] /usr/src/linux-source-2.6.35/linux-source-2.6.35/drivers/gpu/drm/radeon/radeon_cp.o CC [M] /usr/src/linux-source-2.6.35/linux-source-2.6.35/drivers/gpu/drm/radeon/radeon_state.o CC [M] /usr/src/linux-source-2.6.35/linux-source-2.6.35/drivers/gpu/drm/radeon/radeon_mem.o CC [M] /usr/src/linux-source-2.6.35/linux-source-2.6.35/drivers/gpu/drm/radeon/radeon_irq.o CC [M] /usr/src/linux-source-2.6.35/linux-source-2.6.35/drivers/gpu/drm/radeon/r300_cmdbuf.o CC [M] /usr/src/linux-source-2.6.35/linux-source-2.6.35/drivers/gpu/drm/radeon/r600_cp.o CC [M] /usr/src/linux-source-2.6.35/linux-source-2.6.35/drivers/gpu/drm/radeon/radeon_device.o CC [M] /usr/src/linux-source-2.6.35/linux-source-2.6.35/drivers/gpu/drm/radeon/radeon_asic.o CC [M] /usr/src/linux-source-2.6.35/linux-source-2.6.35/drivers/gpu/drm/radeon/radeon_kms.o CC [M] /usr/src/linux-source-2.6.35/linux-source-2.6.35/drivers/gpu/drm/radeon/radeon_atombios.o /usr/src/linux-source-2.6.35/linux-source-2.6.35/drivers/gpu/drm/radeon/radeon_atombios.c: In function ‘radeon_atom_get_hpd_info_from_gpio’: /usr/src/linux-source-2.6.35/linux-source-2.6.35/drivers/gpu/drm/radeon/radeon_atombios.c:199: warning: ‘hpd.plugged_state’ is used uninitialized in CC [M] /usr/src/linux-source-2.6.35/linux-source-2.6.35/drivers/gpu/drm/radeon/radeon_agp.o CC [M] /usr/src/linux-source-2.6.35/linux-source-2.6.35/drivers/gpu/drm/radeon/atombios_crtc.o CC [M] /usr/src/linux-source-2.6.35/linux-source-2.6.35/drivers/gpu/drm/radeon/radeon_combios.o CC [M] /usr/src/linux-source-2.6.35/linux-source-2.6.35/drivers/gpu/drm/radeon/atom.o CC [M] /usr/src/linux-source-2.6.35/linux-source-2.6.35/drivers/gpu/drm/radeon/radeon_fence.o CC [M] /usr/src/linux-source-2.6.35/linux-source-2.6.35/drivers/gpu/drm/radeon/radeon_ttm.o CC [M] /usr/src/linux-source-2.6.35/linux-source-2.6.35/drivers/gpu/drm/radeon/radeon_object.o CC [M] /usr/src/linux-source-2.6.35/linux-source-2.6.35/drivers/gpu/drm/radeon/radeon_gart.o CC [M] /usr/src/linux-source-2.6.35/linux-source-2.6.35/drivers/gpu/drm/radeon/radeon_legacy_crtc.o CC [M] /usr/src/linux-source-2.6.35/linux-source-2.6.35/drivers/gpu/drm/radeon/radeon_legacy_encoders.o CC [M] /usr/src/linux-source-2.6.35/linux-source-2.6.35/drivers/gpu/drm/radeon/radeon_connectors.o /usr/src/linux-source-2.6.35/linux-source-2.6.35/drivers/gpu/drm/radeon/radeon_connectors.c: In function ‘radeon_vga_detect’: /usr/src/linux-source-2.6.35/linux-source-2.6.35/drivers/gpu/drm/radeon/radeon_connectors.c:626: error: ‘force’ undeclared (first use in this functio /usr/src/linux-source-2.6.35/linux-source-2.6.35/drivers/gpu/drm/radeon/radeon_connectors.c:626: error: (Each undeclared identifier is reported only /usr/src/linux-source-2.6.35/linux-source-2.6.35/drivers/gpu/drm/radeon/radeon_connectors.c:626: error: for each function it appears in.) /usr/src/linux-source-2.6.35/linux-source-2.6.35/drivers/gpu/drm/radeon/radeon_connectors.c: In function ‘radeon_dvi_detect’: /usr/src/linux-source-2.6.35/linux-source-2.6.35/drivers/gpu/drm/radeon/radeon_connectors.c:814: error: ‘force’ undeclared (first use in this functio make[1]: *** [/usr/src/linux-source-2.6.35/linux-source-2.6.35/drivers/gpu/drm/radeon/radeon_connectors.o] Błąd 1 make[1]: *** Oczekiwanie na niezakończone zadania.... make: *** [_module_/usr/src/linux-source-2.6.35/linux-source-2.6.35/drivers/gpu/drm/radeon] Error 2 make: Leaving directory `/usr/src/linux-headers-2.6.35-22-generic'
https://bugs.freedesktop.org/show_bug.cgi?id=29389
--- Comment #9 from Marek Olšák maraeo@gmail.com 2010-11-21 02:59:35 PST --- *** Bug 30575 has been marked as a duplicate of this bug. ***
https://bugs.freedesktop.org/show_bug.cgi?id=29389
--- Comment #10 from Hicham HAOUARI hicham.haouari@gmail.com 2010-11-21 04:17:13 PST --- This bug have been fixed in upstream kernel (.37-rc1 IIRC), so I think this bug can be safely closed.
FWIW, it has been fixed in fedora stock kernel 2.6.35-51.fc14 also.
Thank you Dave
https://bugs.freedesktop.org/show_bug.cgi?id=29389
Marek Olšák maraeo@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED
--- Comment #11 from Marek Olšák maraeo@gmail.com 2010-11-21 05:46:18 PST --- Thanks for feedback, closing..
dri-devel@lists.freedesktop.org