Hi Peter,
This may increase the overhead of schedule() a bit, as it will have
more work to do.
check_class_changed():
if (prev_class->switched_from)
prev_class->switched_from(rq, p);
/* Possble rq->lock 'hole'. */
p->sched_class->switched_to(rq, p);
For above cases, why can't we just add a judgement in switched_to_fair()
as follows:
if (rq != task_rq(p))
return;
switched_to_rt() and switched_to_dl() already did the similar judgement.
Then the following operation is usually task_rq_unlock() or the like,
seems no other harm with the old rq of p.
-Xunlei
Peter Zijlstra <[email protected]> wrote 2015-06-01 PM 09:58:19:
> [RFC][PATCH 1/7] sched: Replace post_schedule with a balance callback
list
>
> Generalize the post_schedule() stuff into a balance callback list.
> This allows us to more easily use it outside of schedule() and cross
> sched_class.
>
> Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
--------------------------------------------------------
ZTE Information Security Notice: The information contained in this mail (and
any attachment transmitted herewith) is privileged and confidential and is
intended for the exclusive use of the addressee(s). If you are not an intended
recipient, any disclosure, reproduction, distribution or other dissemination or
use of the information contained is strictly prohibited. If you have received
this mail in error, please delete it and notify us immediately.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/