]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
x86, idle: Add memory barriers around clflush in mwait_play_dead()
authorH. Peter Anvin <hpa@linux.intel.com>
Thu, 19 Dec 2013 20:30:03 +0000 (12:30 -0800)
committerH. Peter Anvin <hpa@linux.intel.com>
Thu, 19 Dec 2013 20:30:03 +0000 (12:30 -0800)
For consistency with mwait_idle_with_hints().  Not sure they help, but
they really won't hurt...

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Len Brown <len.brown@intel.com>
Link: http://lkml.kernel.org/r/CA%2B55aFzGxcML7j8CEvQPYzh0W81uVoAAVmGctMOUZ7CZ1yYd2A@mail.gmail.com
arch/x86/kernel/smpboot.c

index 85dc05a3aa02b3251b64ae0406b95716c714cb85..f5252c4eec8c45c8cbe0cf991360abcdd0f665ae 100644 (file)
@@ -1417,7 +1417,9 @@ static inline void mwait_play_dead(void)
                 * The WBINVD is insufficient due to the spurious-wakeup
                 * case where we return around the loop.
                 */
+               mb();
                clflush(mwait_ptr);
+               mb();
                __monitor(mwait_ptr, 0, 0);
                mb();
                __mwait(eax, 0);