On Sun, Jan 12, 2014 at 11:16 PM, John Rogers <[email protected]> wrote: > I'm not an expert on this but my theory is that the problem is not > that the CPU is running too fast but rather that it is running in a > high power state, presumably C0. Do you know if apmd adjusts the > c-state?
C0 is the only state where the CPU does real work; the higher C-states only make sense for when the CPU is idle, so your question presumably is "does the CPU get put into a higher C-state when idle". Well, 5.4-current uses the MWAIT instruction for the idle loop when available, which uses the C1 state by default. Have people found 5.4-current to use less power/run cooler since the MWAIT change in early October? The MWAIT instruction can put the CPU into a higher C-state if the CPU supports it, but we don't use or expose that yet. I have no interest in adding Yet Another Knob, but maybe making the decision based off the existing hw.setperf sysctl would be reasonable and sufficient, overloading the range to not just change the speed but also use a deeper C-state hw.setperf is smaller, ala C3 <- 0-33 C2 <- 34-65 C1 <- 66-100 Or maybe that's a bad idea. Philip Guenther

