На самом деле это происходит в sched_fork , который вызывается copy_process
Приоритет родителя первоначально передается дочернему элементу примерно так:
p->prio = current->normal_prio;
, где p - это дочерний элемент task_struct
, а current
указывает на родителя.
А затем normal_prio
изменяется следующим образом:
p->prio = p->normal_prio = __normal_prio(p);
__normal_prio(p)
, наконец, сводится к чему-то вроде
return p->static_prio;
Проверьте 2 ссылки, которые я добавил, чтобы узнать больше.