diff options
author | Ingo Molnar <mingo@elte.hu> | 2006-01-12 04:05:27 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-12 12:08:49 -0500 |
commit | 4dc7a0bbeb6882ad665e588e82fabe5bb4645f2f (patch) | |
tree | 8c034f802157d7f449e76f45086c0e13e0ea4711 /include/asm-x86_64/system.h | |
parent | c6b44d10f25e5a93eca5135b686a35775c63546e (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.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) | |||
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 | */ | ||
200 | static 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") |