SMP - fixed IPI livelock

- two CPUs can issue IPI to each other now without any hazzard

- we must be able to handle synchronous scheduling IPIs from
  other CPUs when we are waiting for attention from another one.
  Otherwise we might livelock.

- necessary barriers to prevent reordering
This commit is contained in:
Tomas Hruby
2011-10-26 15:43:36 +00:00
committed by Tomas Hruby
parent 0468fca72b
commit 0a55e63413
4 changed files with 74 additions and 20 deletions

View File

@@ -73,6 +73,9 @@ _PROTOTYPE(void smp_schedule_migrate_proc,
_PROTOTYPE(void arch_send_smp_schedule_ipi, (unsigned cpu));
_PROTOTYPE(void arch_smp_halt_cpu, (void));
/* deal with x-cpu scheduling event */
_PROTOTYPE(void smp_sched_handler, (void));
#endif /* __ASSEMBLY__ */
#endif /* CONFIG_SMP */