Hi Simon,
For some context, I started investigating this because my Maxsun Arc Pro
B70 would latch the blower at very high speed after a long inference
workload and leave it there even when the node was otherwise idle. I had
previously dealt with a separate idle-power issue where continuous Intel
Level Zero Sysman/XPUM monitoring kept the card at elevated power with a
model resident; after removing that polling, the card could return to
low idle power normally. The persistent blower latch was the remaining
reproducible problem.
I did some more targeted testing based on your comments.
I restricted the workaround to CHANNEL_PKG only and disabled both hwmon
pollers so no other sensor reads could interfere.
With a 500-1000 us settling interval, the package-only workaround was
not reliable. The physical blower could remain latched at high speed for
several minutes after the workload ended.
I then repeated the test with a package-only 3000-3500 us settling
interval. With monitoring disabled, the blower remained latched high for
more than five minutes after inference stopped. A single temp2_input
package-temperature read then immediately caused the blower to drop; the
read returned 36 C.
So the workaround does not need to cover VRAM or individual VRAM-channel
reads. A package-only force-wake appears sufficient, provided the
settling interval is long enough.
I also confirmed that fan1_input is a separate issue: it can report
implausibly low values while the physical blower is still running at
high speed.
This makes the v1 patch broader than necessary. I'll narrow v2 to the
package-temperature path and document the delay as an empirical
workaround rather than an architectural timing requirement.
Thanks,
Constantinos