我看到kernel/sched/core.c
中代码的哪一部分可以告诉内核用于调度线程的调度类型。或者我正在寻找合适的地方?多进程可以有多个线程,这些单独的线程如何安排?在进程基础上(本地)或通过线程池(全局)
修改
我目前正在记录context_switch
文件中出现的core.c
,以了解如何切换进程。但是当我试图分析这些数据时,它变得太复杂了。任何人都可以建议一个更简单的方法吗?
我在http://lxr.linux.no/linux+v3.6.6/include/linux/sched.h#L36
找到了这个 /*
* Scheduling policies
*/
#define SCHED_NORMAL 0
#define SCHED_FIFO 1
#define SCHED_RR 2
#define SCHED_BATCH 3
/* SCHED_ISO: reserved but not implemented yet */
#define SCHED_IDLE 5
但我不认为它以我能理解的方式在任何地方使用。