static inline void check_preempt_curr(struct rq *rq, struct task_struct *p)

Userland applications do not directly interact with scheduling classes. They only know of the constants scHED_xyz as defined above. It is the kernel's job to provide an appropriate mapping between these constants and the available scheduling classes. sched_normal, sched_batch, and sched_idle are mapped to fair_sched_class, while sched_RR and sched_FIFO are associated with rt_sched_class. Both fair_sched_class and rt_sched_class are instances of struct sched_class that represent, respectively, the completely fair and the realtime scheduler. The contents of these instances will be shown when I discuss the respective scheduler classes in detail.

Continue reading here: Run Queues

Was this article helpful?

0 0