Re: 50 Watt idle power regression bisected to Linux-3.10

From: Peter Zijlstra
Date: Wed Dec 11 2013 - 11:44:24 EST


On Wed, Dec 11, 2013 at 03:42:38PM +0100, Ingo Molnar wrote:
> Another thing that is required I think is to issue a write barrier
> before CLFLUSH instruction. By my (possibly incorrect ...) reading of
> the documentation CLFLUSH does not appear to be ordered (at all), so
> it might execute before the modification to the affected memory?
>
>
> So something like:
>
> if (this_cpu_has(X86_FEATURE_CLFLUSH_MONITOR)) {
> smp_wmb(); /* order CLFLUSH */
> clflush(&current_thread_info()->flags);
> }

smp_wmb() is a NO-OP on x86 remember :-)

Also, a wmb doesn't actually need to flush the store buffers.
--
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/