aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-x86_64/system.h
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2006-01-12 04:05:27 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2006-01-12 12:08:49 -0500
commit4dc7a0bbeb6882ad665e588e82fabe5bb4645f2f (patch)
tree8c034f802157d7f449e76f45086c0e13e0ea4711 /include/asm-x86_64/system.h
parentc6b44d10f25e5a93eca5135b686a35775c63546e (diff)
[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 <mingo@elte.hu> Cc: Nick Piggin <nickpiggin@yahoo.com.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/asm-x86_64/system.h')
-rw-r--r--include/asm-x86_64/system.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/asm-x86_64/system.h b/include/asm-x86_64/system.h
index 38c1e8a69c9c..0eacbefb7dd0 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)
193#define wbinvd() \ 193#define wbinvd() \
194 __asm__ __volatile__ ("wbinvd": : :"memory"); 194 __asm__ __volatile__ ("wbinvd": : :"memory");
195 195
196/*
197 * On SMP systems, when the scheduler does migration-cost autodetection,
198 * it needs a way to flush as much of the CPU's caches as possible.
199 */
200static inline void sched_cacheflush(void)
201{
202 wbinvd();
203}
204
196#endif /* __KERNEL__ */ 205#endif /* __KERNEL__ */
197 206
198#define nop() __asm__ __volatile__ ("nop") 207#define nop() __asm__ __volatile__ ("nop")