Linux kernel Can';t添加新的计划程序策略

Linux kernel Can';t添加新的计划程序策略,linux-kernel,patch,scheduler,Linux Kernel,Patch,Scheduler,在本文之后,我正在修补内核2.6.24,以引入新的调度策略: 修补和重建过程进展顺利,但重启后,系统似乎根本没有修补。更具体地说,/include/linux/sched.h的代码部分是: ... #define SCHED_NORMAL 0 #define SCHED_FIFO 1 #define SCHED_RR 2 #define SCHED_BATCH 3 /* SCHED_ISO: reserved but not implemented

在本文之后,我正在修补内核2.6.24,以引入新的调度策略: 修补和重建过程进展顺利,但重启后,系统似乎根本没有修补。更具体地说,/include/linux/sched.h的代码部分是:

...
#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
#define SCHED_CASIO     6
...
但是重新启动后,/usr/include/bits/sched.h看起来像

...
#define SCHED_OTHER 0
#define SCHED_FIFO  1
#define SCHED_RR    2
#ifdef __USE_GNU
# define SCHED_BATCH    3
#endif
...
有什么问题吗? 我正在使用Ubuntu8.04和核心双核t7300

谢谢,
Stefano

您做了什么会导致/usr/include/bits/sched.h更新?没有自动更新此文件的功能,它是libc的一部分,而不是内核源代码。文件/include/linux/sched.h已被补丁修改,我认为在重建过程后,此更改将更改/usr/include/bits/sched.h。最后,我可以简化问题:在哪里可以看到添加的策略,哪个文件,重建后,应该包含“#define SCHED_CASIO”?内核树中的include文件与/usr/include中的include文件完全分离。没有什么东西能神奇地保持它们的同步,而且它们常常因为各种原因而微妙地不同。您可以始终将补丁内核树中的补丁直接包含在应用程序中,如果愿意,可以跳过/usr/include中的补丁。