В ядре Linux 2.6.39.4 sched_fork()
будет вызывать соответствующий task_fork()
, который не реализован классом sched_rt
. Находясь в классе sched_fair
, task_fork_()
будет гарантировать, что дочерний элемент запускается первым, если установлен sysctl_sched_child_runs_first
. А как насчет sched_rt
? Означает ли это, что sysctl_sched_child_runs_first
не влияет на процессы реального времени?
if (sysctl_sched_child_runs_first && curr && entity_before(curr, se)) {
// make sure the child runs first
swap(curr->vruntime, se->vruntime);
resched_task(rq->curr);
}