Re: linux-next: build failure after merge of the tip tree

Peter Zijlstra
2014-01-20T10:13:45Z

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.