- 论坛徽章:
- 0
|
本人想通过修改CFS调度器问题来阻止某一个进程的运行,
内核版本:2.6.24
目前修改代码如下:
649 static struct sched_entity *pick_next_entity(struct cfs_rq *cfs_rq)
650 {
651 struct sched_entity *se = NULL;
+++ struct task_struct *tp;
653 if (first_fair(cfs_rq)) {
654 se = __pick_next_entity(cfs_rq);
+++ tp = task_of(se);
+++ if(tp->comm == "XXX" {
+++ __dequeue_entity(cfs_rq, se);
+++ se = __pick_next_entity(cfs_rq);
+++ }
656 set_next_entity(cfs_rq, se);
657 }
658
659 return se;
660 }
其基本想法是:修改从就绪队列中选择下一个进程。就绪队列用红黑树表示,即从红黑树中重新选择一个元素。
但修改以后,系统死机,请高手指教!!!{:2_169:} !!
非常感谢!!!!!!!!!!!!!
|
|