Gün*_*asa 6 linux kernel schedule scheduler linux-kernel
我正在尝试破解 Linux 内核,我想知道。如何使用另一个更改默认的 Linux Process 调度程序?我可以将每个进程设置为实时进程吗?
小智 4
这篇文章有点过时了,但无论如何我希望这能有所帮助...我遇到了类似的问题,我对 Linux 内核进行了修改,使 RR 成为默认的 CPU 调度程序。最后,正如之前的评论所指出的,黑客基本上改变了 shed_fork 函数。这是我为实现该功能而编写的代码:https://aelseb.wordpress.com/2016/01/06/change-linux-cpu-default-scheduler/
以下是Linux v3.18 中该__sched_setscheduler函数的相关差异:kernel/sched/core.c
- p->prio = current->normal_prio;
+ /* Lorenzo Nava: force policy to RR */
+ if (p->policy == SCHED_NORMAL) {
+ p->prio = current->normal_prio - NICE_WIDTH -
+ PRIO_TO_NICE(current->static_prio);
+ p->normal_prio = p->prio;
+ p->rt_priority = p->prio;
+ p->policy = SCHED_RR;
+ p->static_prio = NICE_TO_PRIO(0);
+ }
+ /* Lorenzo Nava: force policy of process to RR */
+ if (attr.sched_policy == SCHED_NORMAL) {
+ attr.sched_priority = param->sched_priority -
+ NICE_WIDTH - attr.sched_nice;
+ attr.sched_policy = SCHED_RR;
+ }
+
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14634 次 |
| 最近记录: |