On Mon, Jul 29, 2013 at 02:12:58PM +0100, Arjan van de Ven wrote: > > > > The menu governor tries to deduce the next wakeup but based on events > > per cpu. That means if a task with a specific behavior is migrated > > across cpus, the statistics will be wrong. > > > btw this is largely a misunderstanding; > tasks are not the issue; tasks use timers and those are perfectly predictable. > It's interrupts that are not and the heuristics are for that. > > Now, if your hardware does the really-bad-for-power wake-all on any interrupt, > then the menu governor logic is not good for you; rather than looking at the > next > timer on the current cpu you need to look at the earliest timer on the set of > bundled > cpus as the upper bound of the next wake event.
Yes, that's true and we have to look into this properly, but certainly a wake-up for a CPU in a package C-state is not beneficial to x86 CPUs either, or I am missing something ? Even if the wake-up interrupts just power up one of the CPUs in a package and leave other(s) alone, all HW state shared (ie caches) by those CPUs must be turned on. What I am asking is: this bundled next event is a concept that should apply to x86 CPUs too, or it is entirely managed in FW/HW and the kernel just should not care ? I still do not understand how this "bundled" next event is managed on x86 with the menu governor, or better why it is not managed at all, given the importance of package C-states. > And maybe even more special casing is needed... but I doubt it. I lost you here, can you elaborate pls ? Thanks a lot, Lorenzo -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/