[Bug 29842] Radeon runs very hot

Alex Deucher 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
>> knowledge.
>
> 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
>> difference.
>
> I tried adding a debugfs file to call it and it didn't seem to make any
> difference.
>
>> 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.

Alex


More information about the dri-devel mailing list