From 4dc7a0bbeb6882ad665e588e82fabe5bb4645f2f Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Thu, 12 Jan 2006 01:05:27 -0800 Subject: [PATCH] sched: add cacheflush() asm Add per-arch sched_cacheflush() which is a write-back cacheflush used by the migration-cost calibration code at bootup time. Signed-off-by: Ingo Molnar Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- include/asm-x86_64/system.h | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'include/asm-x86_64') diff --git a/include/asm-x86_64/system.h b/include/asm-x86_64/system.h index 38c1e8a..0eacbef 100644 --- a/include/asm-x86_64/system.h +++ b/include/asm-x86_64/system.h @@ -193,6 +193,15 @@ static inline void write_cr4(unsigned long val) #define wbinvd() \ __asm__ __volatile__ ("wbinvd": : :"memory"); +/* + * On SMP systems, when the scheduler does migration-cost autodetection, + * it needs a way to flush as much of the CPU's caches as possible. + */ +static inline void sched_cacheflush(void) +{ + wbinvd(); +} + #endif /* __KERNEL__ */ #define nop() __asm__ __volatile__ ("nop") -- cgit v1.1