On 11 Nov 2013, at 19:26, Arjan van de Ven arjan@linux.intel.com wrote:
On 11/11/2013 10:31 AM, Catalin Marinas wrote:
I agree, we can't rely on the requested C-state but the_actual_ state and this means querying the hardware driver. Can we abstract this via some interface which provides the cost of waking up a CPU? This could take into account the state of the other CPUs in the cluster and the scheduler is simply concerned with the wake-up costs.
can you even query this without actually waking up the cpu and asking ???
Even if you don’t have additional hardware to query the state of a CPU without waking it up, we could have a per-CPU variable storing the actual C-states as selected by the arch backend. This doesn’t need to be precise but lets say only 90% accurate would probably be enough for the scheduler.
Catalin