aboutsummaryrefslogtreecommitdiffstats
path: root/litmus/preempt.c
Commit message (Collapse)AuthorAge
* Implement proper remote preemption supportBjoern B. Brandenburg2010-11-11
To date, Litmus has just hooked into the smp_send_reschedule() IPI handler and marked tasks as having to reschedule to implement remote preemptions. This was never particularly clean, but so far we got away with it. However, changes in the underlying Linux, and peculartities of the ARM code (interrupts enabled before context switch) break this naive approach. This patch introduces new state-machine based remote preemption support. By examining the local state before calling set_tsk_need_resched(), we avoid confusing the underlying Linux scheduler. Further, this patch avoids sending unncessary IPIs.