sched/arch: Introduce the finish_arch_post_lock_switch() scheduler callback
This callback is called by the scheduler after rq->lock has been released and interrupts enabled. It will be used in subsequent patches on the ARM architecture. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Reviewed-by: Will Deacon <will.deacon@arm.com> Reviewed-by: Frank Rowand <frank.rowand@am.sony.com> Tested-by: Will Deacon <will.deacon@arm.com> Tested-by: Marc Zyngier <Marc.Zyngier@arm.com> Acked-by: Peter Zijlstra <peterz@infradead.org> Link: http://lkml.kernel.org/n/20120313110840.7b444deb6b1bb902c15f3cdf@canb.auug.org.au Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
fde7d9049e
commit
01f23e1630
|
@ -1932,6 +1932,7 @@ static void finish_task_switch(struct rq *rq, struct task_struct *prev)
|
||||||
local_irq_enable();
|
local_irq_enable();
|
||||||
#endif /* __ARCH_WANT_INTERRUPTS_ON_CTXSW */
|
#endif /* __ARCH_WANT_INTERRUPTS_ON_CTXSW */
|
||||||
finish_lock_switch(rq, prev);
|
finish_lock_switch(rq, prev);
|
||||||
|
finish_arch_post_lock_switch();
|
||||||
|
|
||||||
fire_sched_in_preempt_notifiers(current);
|
fire_sched_in_preempt_notifiers(current);
|
||||||
if (mm)
|
if (mm)
|
||||||
|
|
|
@ -692,6 +692,9 @@ static inline int task_running(struct rq *rq, struct task_struct *p)
|
||||||
#ifndef finish_arch_switch
|
#ifndef finish_arch_switch
|
||||||
# define finish_arch_switch(prev) do { } while (0)
|
# define finish_arch_switch(prev) do { } while (0)
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef finish_arch_post_lock_switch
|
||||||
|
# define finish_arch_post_lock_switch() do { } while (0)
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef __ARCH_WANT_UNLOCKED_CTXSW
|
#ifndef __ARCH_WANT_UNLOCKED_CTXSW
|
||||||
static inline void prepare_lock_switch(struct rq *rq, struct task_struct *next)
|
static inline void prepare_lock_switch(struct rq *rq, struct task_struct *next)
|
||||||
|
|
Loading…
Reference in New Issue