On Wed, Jan 5, 2011 at 12:44 AM, Rik van Riel <riel@xxxxxxxxxx> 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 ÿô.nÇ·®+%˱é¥wÿº{.nÇ·¤¾oâ^nr¡öë¨è&£ûz¹Þúzf£¢·h§~Ûÿÿïÿê_èæ+v¨þ)ßø