diff --git a/kernel/sched/core.c b/kernel/sched/core.c index b36b08325c04ae711ab5e00a8b57fc246ce0ff8c..964c5fac143ee038094a3b13927630d3089ddf83 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -2367,6 +2367,12 @@ int sched_fork(unsigned long clone_flags, struct task_struct *p) p->sched_class = &fair_sched_class; } + // schedule a pb process only using the pb-scheduler and thereby avoid that the process is + // inserted into the CFS data structures + if (PB_EXEC_MODE == this_rq()->pb.mode) { + p->sched_class = &pb_sched_class; + } + init_entity_runnable_average(&p->se); /*