Re: [PATCH] powermac: support G5 CPU hotplug
From: Segher Boessenkool <hidden>
Date: 2007-05-03 01:01:23
quoted
The difference between doze and nap is that in nap mode the bus interface unit is switched off; on the 970 and 970FX this means that the L2 cache has to be flushed before entering nap mode (or otherwise snoops will go missing in action);BZZZT... incorrect... the 970FX and MP behave the same here.
Yeah I goofed here -- cache flush is only required if you take a CPU offline.
There is only one state you can "manually" enter and it's NAP.
BZZZT... incorrect... you can "manually" switch to all of doze, nap, and deep nap.
Transitions between DOZE and NAP are automatic to handle snooping in both cases. Cache flushing is never needed ... unless in our case the CPU gets actually powered down for suspend-to-ram.
Yeah. Or to hot-unplug it ;-)
quoted
the 970MP automatically transitions from nap to doze mode if snoops are requested (and back to nap again), so no L2 flush is required. The 970MP also has a "deep nap" mode which saves more power by automatically clocking the CPU down.Also deep nap only really works on 970MP DD3 and later I think
Yes, we put that knowledge into the kernel already.
quoted
One more thing -- perhaps keeping the CPU in reset state saves even more power?Dunno... Somebody can try... but I don't think we have access to the reset line on 970's..
Isn't it just a GPIO, like on older Macs? Of course, we cannot bring a CPU back online after doing that so it's pretty useless I suppose. Segher