[Bug 29842] Radeon runs very hot
alexdeucher at gmail.com
Sat Feb 26 09:35:25 PST 2011
2011/2/26 Phillip Susi <psusi at cfl.rr.com>:
> On 02/26/2011 03:09 AM, Michel Dänzer wrote:
>> On Fre, 2011-02-25 at 12:11 -0500, Phillip Susi wrote:
>>> It seems like the GPU is executing a few different microcode kernels
>>> that process commands placed into ring buffers. When the ring buffers
>>> are empty and the gui is idle, it seems like the GPU is still busily
>>> executing an infinite loop checking for work in the ring buffers.
>> As has been pointed out by Alex, that's not true to the best of our
> I wonder how that is though. I see nothing in the R600 microcode
> documentation about a way to halt execution, and it explicitly says it does
> not support interrupts, so I don't see any way for the CP to avoid busy
> waiting other than to be explicitly stopped by the driver.
Changing the wptr is a trigger to start the cp. When the rptr and
wptr are equal the cp is idle. See chapter 5 of the r5xx acceleration
guide as I mentioned earlier.
>>> Shouldn't the driver detect the idle condition and issue an
>>> r600_cp_stop() to halt execution and stop wasting power?
>> Feel free to try it, but I wouldn't expect it to make much if any
> I tried adding a debugfs file to call it and it didn't seem to make any
>> Did you check that your card runs significantly cooler in the other OS
>> before starting all this ruckus? (Though even if it does, the lack of
>> clock gating might explain the difference)
> I don't even have a working copy of the other OS any more. It is on my old
> first gen WD raptor fakeraid 0 that the new system's bios and Windows driver
> won't recognize. Now that you mention it though, I do think it always
> tended to run hot there and I usually underclocked it a bit to try and help.
> Maybe I just have a poorly designed card with insufficient heatsink+fan?
It's possible. The default clocks are designed to be safe however
even if the temperature seems a bit high.
> It seems like clock gating, while helpful to maximize power savings, should
> not be needed to stay below critical temperatures when idle.
> Strange. This morning it seems to be running at "only" 66 C instead of 80+.
Make sure you clean out the fan and heatsink if a lot of dust has
built up in there.
More information about the dri-devel