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 /arch/ia64/kernel/setup.c | |
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 'arch/ia64/kernel/setup.c')
-rw-r--r-- | arch/ia64/kernel/setup.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/ia64/kernel/setup.c b/arch/ia64/kernel/setup.c index c33305d8e5eb..d91c8ff2c0d7 100644 --- a/arch/ia64/kernel/setup.c +++ b/arch/ia64/kernel/setup.c | |||
@@ -60,6 +60,7 @@ | |||
60 | #include <asm/smp.h> | 60 | #include <asm/smp.h> |
61 | #include <asm/system.h> | 61 | #include <asm/system.h> |
62 | #include <asm/unistd.h> | 62 | #include <asm/unistd.h> |
63 | #include <asm/system.h> | ||
63 | 64 | ||
64 | #if defined(CONFIG_SMP) && (IA64_CPU_SIZE > PAGE_SIZE) | 65 | #if defined(CONFIG_SMP) && (IA64_CPU_SIZE > PAGE_SIZE) |
65 | # error "struct cpuinfo_ia64 too big!" | 66 | # error "struct cpuinfo_ia64 too big!" |
@@ -870,6 +871,15 @@ cpu_init (void) | |||
870 | pm_idle = default_idle; | 871 | pm_idle = default_idle; |
871 | } | 872 | } |
872 | 873 | ||
874 | /* | ||
875 | * On SMP systems, when the scheduler does migration-cost autodetection, | ||
876 | * it needs a way to flush as much of the CPU's caches as possible. | ||
877 | */ | ||
878 | void sched_cacheflush(void) | ||
879 | { | ||
880 | ia64_sal_cache_flush(3); | ||
881 | } | ||
882 | |||
873 | void | 883 | void |
874 | check_bugs (void) | 884 | check_bugs (void) |
875 | { | 885 | { |