On Mon, Jan 20, 2014 at 09:30:21AM +0100, Peter Zijlstra wrote: > Then make them so. The fact was that most of the mwait idle sites > were bloody broken. And the single mwait_idle_with_hints() function > presents a single nice function that does all the required magics.
To stress this a bit more; have a look see at mwwait_idle_with_hints(); it does a whole lot of subtle magic. - current_{set,clr}_polling*(), these are crucial in not missing and wrecking NEED_RESCHED state. - X86_FEATURE_CLFLUSH_MONTIOR quirk - Does the monitor(); if (!need_resched()) mwait() thing. All of those are required for a correct and functional idle loop. And I've seen sites where any or all of the above were missing/broken. Not unifying the lot into a simple usable function is just stupid -- history has shown people simply cannot be trusted to get this right. -- 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/