Hi,

On 10/15/26 5:12 AM, Rodrigo Vivi wrote:

If the consensus is that we need this forcewake, let's do it.
It feels like we haven't really understood the problem yet, we just know something that appears to work.

If I run

    while true; do sleep 5 >forcewake_all; sleep 5; done & watch sensors

then the temperature sensors *do* update, but several of the VRAM channels take over a minute, so the long forcewake does not solve the problem. If shorter ones do, then I'd really like to understand why; my theory is that it's not the forcewake itself that does the job, but the fact that it's toggling, and possibly generating some events in some microcontroller. It may be sufficient to send some no-op commands instead of playing with the power rails.

Starting the loop above with pretty much everything at a nice toasty equilibrium temperature of 82 degrees (which is way too much IMO for a card that has no client connected and is just displaying a console login), the fans immediately come on, and apparently every ten seconds one of the VRAM channels updates to a lower temperature, so one forcewake event pretty much exactly corresponds to one sensor update.

That would explain why the patch works -- it generates the same number of forcewake events as sensor reads, and the delay makes sure they are registered as separate events. However, there is no correspondence between the event and the sensor, so if I do my normal telemetry recording (every sensor once every ten seconds) I can still get data that is ten seconds old, and I also wake up the GPU once every ten seconds even if there is nothing to do.

That is an improvement over the status quo, but my concern is that it will push us over into "good enough" territory where the actual problem is never addressed.

   Simon

Reply via email to