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

From: Rik van Riel
Date: Tue Jan 04 2011 - 11:44:43 EST


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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/