diff options
| author | David S. Miller <davem@davemloft.net> | 2011-05-20 16:10:22 -0400 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2011-05-20 16:10:22 -0400 |
| commit | 90d3ac15e5c637d45849e83c828ed78c62886737 (patch) | |
| tree | c5568365f32386559d2710e8981ed41e5fe0eb12 /arch/sparc | |
| parent | 9fafbd806198eb690c9a9f9fe35a879db93a1b8d (diff) | |
| parent | 317f394160e9beb97d19a84c39b7e5eb3d7815a8 (diff) | |
Merge commit '317f394160e9beb97d19a84c39b7e5eb3d7815a8'
Conflicts:
arch/sparc/kernel/smp_32.c
With merge conflict help from Daniel Hellstrom.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc')
| -rw-r--r-- | arch/sparc/kernel/smp_32.c | 8 | ||||
| -rw-r--r-- | arch/sparc/kernel/smp_64.c | 1 |
2 files changed, 5 insertions, 4 deletions
diff --git a/arch/sparc/kernel/smp_32.c b/arch/sparc/kernel/smp_32.c index 41102c5a6702..d5b3958be0b4 100644 --- a/arch/sparc/kernel/smp_32.c +++ b/arch/sparc/kernel/smp_32.c | |||
| @@ -156,11 +156,11 @@ void arch_send_call_function_ipi_mask(const struct cpumask *mask) | |||
| 156 | 156 | ||
| 157 | void smp_resched_interrupt(void) | 157 | void smp_resched_interrupt(void) |
| 158 | { | 158 | { |
| 159 | irq_enter(); | ||
| 160 | scheduler_ipi(); | ||
| 159 | local_cpu_data().irq_resched_count++; | 161 | local_cpu_data().irq_resched_count++; |
| 160 | /* | 162 | irq_exit(); |
| 161 | * do nothing, since it all was about calling re-schedule | 163 | /* re-schedule routine called by interrupt return code. */ |
| 162 | * routine called by interrupt return code. | ||
| 163 | */ | ||
| 164 | } | 164 | } |
| 165 | 165 | ||
| 166 | void smp_call_function_single_interrupt(void) | 166 | void smp_call_function_single_interrupt(void) |
diff --git a/arch/sparc/kernel/smp_64.c b/arch/sparc/kernel/smp_64.c index c274a30c3cbf..99cb17251bb5 100644 --- a/arch/sparc/kernel/smp_64.c +++ b/arch/sparc/kernel/smp_64.c | |||
| @@ -1368,6 +1368,7 @@ void smp_send_reschedule(int cpu) | |||
| 1368 | void __irq_entry smp_receive_signal_client(int irq, struct pt_regs *regs) | 1368 | void __irq_entry smp_receive_signal_client(int irq, struct pt_regs *regs) |
| 1369 | { | 1369 | { |
| 1370 | clear_softint(1 << irq); | 1370 | clear_softint(1 << irq); |
| 1371 | scheduler_ipi(); | ||
| 1371 | } | 1372 | } |
| 1372 | 1373 | ||
| 1373 | /* This is a nop because we capture all other cpus | 1374 | /* This is a nop because we capture all other cpus |
