]> Git Repo - linux.git/commit
sched: Bail out of yield_to when source and target runqueue has one task
authorPeter Zijlstra <[email protected]>
Tue, 22 Jan 2013 07:39:13 +0000 (13:09 +0530)
committerGleb Natapov <[email protected]>
Tue, 29 Jan 2013 13:38:37 +0000 (15:38 +0200)
commit7b270f609982f68f2433442bf167f735e7364b06
tree07430a425125c1938fad3befc6debec667310ec4
parentc7c9c56ca26f7b9458711b2d78b60b60e0d38ba7
sched: Bail out of yield_to when source and target runqueue has one task

In case of undercomitted scenarios, especially in large guests
yield_to overhead is significantly high. when run queue length of
source and target is one, take an opportunity to bail out and return
-ESRCH. This return condition can be further exploited to quickly come
out of PLE handler.

(History: Raghavendra initially worked on break out of kvm ple handler upon
 seeing source runqueue length = 1, but it had to export rq length).
 Peter came up with the elegant idea of return -ESRCH in scheduler core.

Signed-off-by: Peter Zijlstra <[email protected]>
Raghavendra, Checking the rq length of target vcpu condition added.(thanks Avi)
Reviewed-by: Srikar Dronamraju <[email protected]>
Signed-off-by: Raghavendra K T <[email protected]>
Acked-by: Andrew Jones <[email protected]>
Tested-by: Chegu Vinod <[email protected]>
Signed-off-by: Gleb Natapov <[email protected]>
kernel/sched/core.c
This page took 0.056114 seconds and 4 git commands to generate.