每个处理器有一个运行队列,结构体是rq,定义的全局变量如下:
kernel/sched/core.c DEFINE_PER_CPU_SHARED_ALIGNED(struct rq, runqueues);
如图2.24所示,结构体rq中嵌入了公平运行队列cfs、实时运行队列rt和限期运行队列dl,停机调度类和空闲调度类在每个处理器上只有一个内核线程,不需要运行队列,直接定义成员stop和idle分别指向迁移线程和空闲线程。
图2.24 运行队列