Merge commit '317f394160e9beb97d19a84c39b7e5eb3d7815a8'
David S. Miller [Fri, 20 May 2011 20:10:22 +0000 (13:10 -0700)]
Conflicts:
arch/sparc/kernel/smp_32.c

With merge conflict help from Daniel Hellstrom.

Signed-off-by: David S. Miller <davem@davemloft.net>

1  2 
arch/blackfin/mach-common/smp.c
arch/sparc/kernel/smp_32.c
arch/sparc/kernel/smp_64.c
include/linux/sched.h
kernel/sched.c

Simple merge
@@@ -139,46 -134,6 +139,46 @@@ void smp_send_stop(void
  {
  }
  
 +void arch_send_call_function_single_ipi(int cpu)
 +{
 +      /* trigger one IPI single call on one CPU */
 +      BTFIXUP_CALL(smp_ipi_single)(cpu);
 +}
 +
 +void arch_send_call_function_ipi_mask(const struct cpumask *mask)
 +{
 +      int cpu;
 +
 +      /* trigger IPI mask call on each CPU */
 +      for_each_cpu(cpu, mask)
 +              BTFIXUP_CALL(smp_ipi_mask_one)(cpu);
 +}
 +
 +void smp_resched_interrupt(void)
 +{
++      irq_enter();
++      scheduler_ipi();
 +      local_cpu_data().irq_resched_count++;
-       /*
-        * do nothing, since it all was about calling re-schedule
-        * routine called by interrupt return code.
-        */
++      irq_exit();
++      /* re-schedule routine called by interrupt return code. */
 +}
 +
 +void smp_call_function_single_interrupt(void)
 +{
 +      irq_enter();
 +      generic_smp_call_function_single_interrupt();
 +      local_cpu_data().irq_call_count++;
 +      irq_exit();
 +}
 +
 +void smp_call_function_interrupt(void)
 +{
 +      irq_enter();
 +      generic_smp_call_function_interrupt();
 +      local_cpu_data().irq_call_count++;
 +      irq_exit();
 +}
 +
  void smp_flush_cache_all(void)
  {
        xc0((smpfunc_t) BTFIXUP_CALL(local_flush_cache_all));
Simple merge
Simple merge
diff --cc kernel/sched.c
Simple merge