diff options
author | Ingo Molnar <mingo@elte.hu> | 2006-01-12 01:05:27 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-12 09:08:49 -0800 |
commit | 4dc7a0bbeb6882ad665e588e82fabe5bb4645f2f (patch) | |
tree | 8c034f802157d7f449e76f45086c0e13e0ea4711 /include/asm-x86_64 | |
parent | c6b44d10f25e5a93eca5135b686a35775c63546e (diff) | |
download | blackbird-op-linux-4dc7a0bbeb6882ad665e588e82fabe5bb4645f2f.tar.gz blackbird-op-linux-4dc7a0bbeb6882ad665e588e82fabe5bb4645f2f.zip |
[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')
-rw-r--r-- | include/asm-x86_64/system.h | 9 |
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) #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") |