In sched_class for a Completely Fair Scheduler (CFS) there is function prototype defined for enqueue_task. Where is the actual function implementation defined? A search got me a definition here (below). But is that the place where the enqueue of the task happens? If so where is p->sched_class->enqueue_task
713 static void enqueue_task(struct rq *rq, struct task_struct *p, int flags)
714 {
715 update_rq_clock(rq);
716 sched_info_queued(p);
717 p->sched_class->enqueue_task(rq, p, flags);
718 }
It seems to be assigned to a
sched_classstruct at kernel/sched/fair.c:5343 and defined at kernel/sched/fair.c:2178.