Re: [PATCH] x86 idle: repair large-server 50-watt idle-power regression

From: H. Peter Anvin
Date: Thu Dec 19 2013 - 13:20:22 EST


On 12/19/2013 10:09 AM, H. Peter Anvin wrote:
> On 12/19/2013 09:07 AM, Ingo Molnar wrote:
>>
>> Likewise, having a barrier before the MONITOR looks sensible as well.
>> Having it _after_ monitor looks weird and is probably wrong. [It might
>> have been the effects of someone seeing the spurious wakeup problems
>> with realizing the true source, or so.]
>>
>
> Does anyone know the history of this barrier after the monitor? I know
> Len is looking for a minimal patchset that can go into -stable, and it
> seems prudent to not preturb the code more than necessary, but going
> forward it would be nice to know...
>

Hmm... it *looks* like it is intended to be part of the construct:

smp_mb();
if (!need_resched())
...

I found a note in the HLT variant of the function saying:

/*
* TS_POLLING-cleared state must be visible before we
* test NEED_RESCHED:
*/

... which presumably has been copied elsewhere.

-hpa


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/