On Wed, Jan 5, 2011 at 12:44 AM, Rik van Riel <[email protected]> wrote: > On 01/04/2011 11:41 AM, Hillf Danton wrote: > >> /* !curr->sched_class->yield_to_task || */ >> >>> + curr->sched_class != p->sched_class) { >>> + goto out; >>> + } >>> + >> >> /* >> * ask scheduler to compute the next for successfully kicking >> @p onto its CPU >> * what if p_rq is rt_class to do? >> */ >> next = pick_next_task(p_rq); >> if (next != p) >> p->se.vruntime = next->se.vruntime -1; >> deactivate_task(p_rq, p, 0); >> activate_task(p_rq, p, 0); >> if (rq == p_rq) >> schedule(); >> else >> resched_task(p_rq->curr); >> yield = 0; > > Wouldn't that break for FIFO and RR tasks? > > There's a reason all the scheduler folks wanted a > per-class yield_to_task function :) >
Where is the yield_to callback in the patch for RT schedule class? If @p is RT, what could you do? Hillf
