Re: [RFC -v3 PATCH 2/3] sched: add yield_to function

Rik van Riel
2011-01-04T16:44:16Z

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 :)

--
All rights reversed