prepare_arch_schedule是什么?

时间:2010-05-04 18:44:42

标签: linux linux-kernel schedule

我正在搞乱Linux内核2.4和sched.c中的函数schedule()使用宏prepare_arch_schedule,这看起来很奇怪。那是什么?

以下是相关部分

#ifndef prepare_arch_schedule
# define prepare_arch_schedule(prev)    do { } while(0)
# define finish_arch_schedule(prev) do { } while(0)
# define prepare_arch_switch(rq)    do { } while(0)
# define finish_arch_switch(rq)     spin_unlock_irq(&(rq)->lock)
#endif

1 个答案:

答案 0 :(得分:1)

我仍然不明白为什么你认为这是一个无限循环:)。

对于空语句而言,这是一个“黑客”,原因在于它是因为编译器在遇到空语句时会抱怨。

据我所知,上下文切换锁定依赖于体系结构,因此,对于尚未定义锁定的体系结构,此空语句已定义,因此您无需修改​​每个体系结构的schedule()。因此#ifndef ...