diff options
author | Glauber Costa <gcosta@redhat.com> | 2008-03-03 12:12:34 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-04-17 11:40:53 -0400 |
commit | 8678969e60d80527d96d2af0011e72c87c9c1fe5 (patch) | |
tree | 4be2bc2caabfb76dbb7a3b09a2774bcc52e9ff53 | |
parent | c76cb36846da6d5d6fb2951968869faa4fd1001d (diff) |
x86: merge smp_send_reschedule
function definition is moved to common header, x86_64 version is now called
native_smp_send_reschedule
Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r-- | arch/x86/kernel/smp_64.c | 7 | ||||
-rw-r--r-- | include/asm-x86/smp.h | 5 | ||||
-rw-r--r-- | include/asm-x86/smp_32.h | 4 | ||||
-rw-r--r-- | include/asm-x86/smp_64.h | 2 |
4 files changed, 10 insertions, 8 deletions
diff --git a/arch/x86/kernel/smp_64.c b/arch/x86/kernel/smp_64.c index 80dba12b56af..fd1816123496 100644 --- a/arch/x86/kernel/smp_64.c +++ b/arch/x86/kernel/smp_64.c | |||
@@ -290,8 +290,9 @@ void flush_tlb_all(void) | |||
290 | * anything. Worst case is that we lose a reschedule ... | 290 | * anything. Worst case is that we lose a reschedule ... |
291 | */ | 291 | */ |
292 | 292 | ||
293 | void smp_send_reschedule(int cpu) | 293 | static void native_smp_send_reschedule(int cpu) |
294 | { | 294 | { |
295 | WARN_ON(cpu_is_offline(cpu)); | ||
295 | send_IPI_mask(cpumask_of_cpu(cpu), RESCHEDULE_VECTOR); | 296 | send_IPI_mask(cpumask_of_cpu(cpu), RESCHEDULE_VECTOR); |
296 | } | 297 | } |
297 | 298 | ||
@@ -528,5 +529,7 @@ asmlinkage void smp_call_function_interrupt(void) | |||
528 | } | 529 | } |
529 | } | 530 | } |
530 | 531 | ||
531 | struct smp_ops smp_ops; | 532 | struct smp_ops smp_ops = { |
533 | .smp_send_reschedule = native_smp_send_reschedule, | ||
534 | }; | ||
532 | EXPORT_SYMBOL_GPL(smp_ops); | 535 | EXPORT_SYMBOL_GPL(smp_ops); |
diff --git a/include/asm-x86/smp.h b/include/asm-x86/smp.h index ee98beeb7511..28f33c03d793 100644 --- a/include/asm-x86/smp.h +++ b/include/asm-x86/smp.h | |||
@@ -23,6 +23,11 @@ struct smp_ops { | |||
23 | 23 | ||
24 | #ifdef CONFIG_SMP | 24 | #ifdef CONFIG_SMP |
25 | extern struct smp_ops smp_ops; | 25 | extern struct smp_ops smp_ops; |
26 | |||
27 | static inline void smp_send_reschedule(int cpu) | ||
28 | { | ||
29 | smp_ops.smp_send_reschedule(cpu); | ||
30 | } | ||
26 | #endif | 31 | #endif |
27 | 32 | ||
28 | #ifdef CONFIG_X86_32 | 33 | #ifdef CONFIG_X86_32 |
diff --git a/include/asm-x86/smp_32.h b/include/asm-x86/smp_32.h index 74755e8ffc77..c60a3dd3e802 100644 --- a/include/asm-x86/smp_32.h +++ b/include/asm-x86/smp_32.h | |||
@@ -60,10 +60,6 @@ static inline void smp_send_stop(void) | |||
60 | { | 60 | { |
61 | smp_ops.smp_send_stop(); | 61 | smp_ops.smp_send_stop(); |
62 | } | 62 | } |
63 | static inline void smp_send_reschedule(int cpu) | ||
64 | { | ||
65 | smp_ops.smp_send_reschedule(cpu); | ||
66 | } | ||
67 | static inline int smp_call_function_mask(cpumask_t mask, | 63 | static inline int smp_call_function_mask(cpumask_t mask, |
68 | void (*func) (void *info), void *info, | 64 | void (*func) (void *info), void *info, |
69 | int wait) | 65 | int wait) |
diff --git a/include/asm-x86/smp_64.h b/include/asm-x86/smp_64.h index 284f701f2a8b..b9204584aa06 100644 --- a/include/asm-x86/smp_64.h +++ b/include/asm-x86/smp_64.h | |||
@@ -65,8 +65,6 @@ static inline int num_booting_cpus(void) | |||
65 | return cpus_weight(cpu_callout_map); | 65 | return cpus_weight(cpu_callout_map); |
66 | } | 66 | } |
67 | 67 | ||
68 | extern void smp_send_reschedule(int cpu); | ||
69 | |||
70 | #else /* CONFIG_SMP */ | 68 | #else /* CONFIG_SMP */ |
71 | 69 | ||
72 | extern unsigned int boot_cpu_id; | 70 | extern unsigned int boot_cpu_id; |