From: Andrew Morton On ia64: In file included from include/linux/spinlock.h:57, from include/linux/capability.h:45, from include/linux/sched.h:7, from include/linux/mm.h:4, from kernel/sched.c:21: include/asm/system.h: In function `sched_cacheflush': include/asm/system.h:287: warning: implicit declaration of function `ia64_sal_cache_flush' Cc: Ingo Molnar Signed-off-by: Andrew Morton --- arch/ia64/kernel/setup.c | 10 ++++++++++ include/asm-ia64/system.h | 10 +--------- 2 files changed, 11 insertions(+), 9 deletions(-) diff -puN include/asm-ia64/system.h~sched-add-cacheflush-asm-2-ia64-fix include/asm-ia64/system.h --- 25/include/asm-ia64/system.h~sched-add-cacheflush-asm-2-ia64-fix 2005-06-26 02:05:28.000000000 -0700 +++ 25-akpm/include/asm-ia64/system.h 2005-06-26 02:05:28.000000000 -0700 @@ -277,15 +277,7 @@ extern void ia64_load_extra (struct task #define ia64_platform_is(x) (strcmp(x, platform_name) == 0) void cpu_idle_wait(void); - -/* - * 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) -{ - ia64_sal_cache_flush(1); -} +void sched_cacheflush(void); #define arch_align_stack(x) (x) diff -puN arch/ia64/kernel/setup.c~sched-add-cacheflush-asm-2-ia64-fix arch/ia64/kernel/setup.c --- 25/arch/ia64/kernel/setup.c~sched-add-cacheflush-asm-2-ia64-fix 2005-06-26 02:05:28.000000000 -0700 +++ 25-akpm/arch/ia64/kernel/setup.c 2005-06-26 02:05:28.000000000 -0700 @@ -56,6 +56,7 @@ #include #include #include +#include #if defined(CONFIG_SMP) && (IA64_CPU_SIZE > PAGE_SIZE) # error "struct cpuinfo_ia64 too big!" @@ -791,3 +792,12 @@ check_bugs (void) ia64_patch_mckinley_e9((unsigned long) __start___mckinley_e9_bundles, (unsigned long) __end___mckinley_e9_bundles); } + +/* + * 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. + */ +void sched_cacheflush(void) +{ + ia64_sal_cache_flush(1); +} _