diff options
author | Ingo Molnar <mingo@elte.hu> | 2009-01-28 09:42:24 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-01-28 17:20:31 -0500 |
commit | dac5f4121df3c39fdb2ea57acd669a0ae19e46f8 (patch) | |
tree | c3dde8b525b1a8e73732bdffdb7e819f4a14fd3a /arch/x86/kernel/smp.c | |
parent | debccb3e77be52cfc26c5a99e123c114c5c72aeb (diff) |
x86, apic: untangle the send_IPI_*() jungle
Our send_IPI_*() methods and definitions are a twisted mess: the same
symbol is defined to different things depending on .config details,
in a non-transparent way.
- spread out the quirks into separately named per apic driver methods
- prefix the standard PC methods with default_
- get rid of wrapper macro obfuscation
- clean up various details
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel/smp.c')
-rw-r--r-- | arch/x86/kernel/smp.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/arch/x86/kernel/smp.c b/arch/x86/kernel/smp.c index e6faa3316bd2..c48ba6cc32aa 100644 --- a/arch/x86/kernel/smp.c +++ b/arch/x86/kernel/smp.c | |||
@@ -118,12 +118,12 @@ static void native_smp_send_reschedule(int cpu) | |||
118 | WARN_ON(1); | 118 | WARN_ON(1); |
119 | return; | 119 | return; |
120 | } | 120 | } |
121 | send_IPI_mask(cpumask_of(cpu), RESCHEDULE_VECTOR); | 121 | apic->send_IPI_mask(cpumask_of(cpu), RESCHEDULE_VECTOR); |
122 | } | 122 | } |
123 | 123 | ||
124 | void native_send_call_func_single_ipi(int cpu) | 124 | void native_send_call_func_single_ipi(int cpu) |
125 | { | 125 | { |
126 | send_IPI_mask(cpumask_of(cpu), CALL_FUNCTION_SINGLE_VECTOR); | 126 | apic->send_IPI_mask(cpumask_of(cpu), CALL_FUNCTION_SINGLE_VECTOR); |
127 | } | 127 | } |
128 | 128 | ||
129 | void native_send_call_func_ipi(const struct cpumask *mask) | 129 | void native_send_call_func_ipi(const struct cpumask *mask) |
@@ -131,7 +131,7 @@ void native_send_call_func_ipi(const struct cpumask *mask) | |||
131 | cpumask_var_t allbutself; | 131 | cpumask_var_t allbutself; |
132 | 132 | ||
133 | if (!alloc_cpumask_var(&allbutself, GFP_ATOMIC)) { | 133 | if (!alloc_cpumask_var(&allbutself, GFP_ATOMIC)) { |
134 | send_IPI_mask(mask, CALL_FUNCTION_VECTOR); | 134 | apic->send_IPI_mask(mask, CALL_FUNCTION_VECTOR); |
135 | return; | 135 | return; |
136 | } | 136 | } |
137 | 137 | ||
@@ -140,9 +140,9 @@ void native_send_call_func_ipi(const struct cpumask *mask) | |||
140 | 140 | ||
141 | if (cpumask_equal(mask, allbutself) && | 141 | if (cpumask_equal(mask, allbutself) && |
142 | cpumask_equal(cpu_online_mask, cpu_callout_mask)) | 142 | cpumask_equal(cpu_online_mask, cpu_callout_mask)) |
143 | send_IPI_allbutself(CALL_FUNCTION_VECTOR); | 143 | apic->send_IPI_allbutself(CALL_FUNCTION_VECTOR); |
144 | else | 144 | else |
145 | send_IPI_mask(mask, CALL_FUNCTION_VECTOR); | 145 | apic->send_IPI_mask(mask, CALL_FUNCTION_VECTOR); |
146 | 146 | ||
147 | free_cpumask_var(allbutself); | 147 | free_cpumask_var(allbutself); |
148 | } | 148 | } |