sched:skip loop non-idle cpus after find an idle cpu while find_idlest_cpu
PATCH 1/1 sched:skip loop non-idle cpus after find an idle cpu while find_idlest_cpu
Idle cpu is idler than non-idle cpu, so we needn't loop non-idle cpus after find an idle cpu.
--- kernel/sched/fair.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
kernel/sched/fair.c +1 -1
@@ -4446,7 +4446,7 @@ find_idlest_cpu(struct sched_group *group, struct task_struct *p, int this_cpu) latest_idle_timestamp = rq->idle_stamp; shallowest_idle_cpu = i; } - }else { + }else if (shallowest_idle_cpu ==-1 ) { load =weighted_cpuload (i);if (load < min_load || (load == min_load && i == this_cpu)) { min_load = load;
--
1.8.0.1
Quoted 2 lines · Yao Dongdong
Idle cpu is idler than non-idle cpu, so we needn't loop non-idle cpus after find an idle cpu.
While this check looks good,
I dont see how we are avoiding a loop?
Are you suggesting that we break of the for loop once we set shallowest_idle_cpu?
Signature · 2 lines
Thanks and Regards Srikar
Quoted 27 lines
Signed-off-by [email protected]--- kernel/sched/fair.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)kernel/sched/fair.c +1
-2@@ -4446,7 +4446,7 @@ find_idlest_cpu(struct sched_group *group, struct task_struct *p, int this_cpu) latest_idle_timestamp = rq->idle_stamp; shallowest_idle_cpu = i; } - }else { + }else if (shallowest_idle_cpu ==-1 ) { load =weighted_cpuload (i);if (load < min_load || (load == min_load && i == this_cpu)) { min_load = load; --1.8.0.1
--
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/
Signature · 2 lines
Thanks and Regards Srikar Dronamraju
Quoted 10 lines · Srikar Dronamraju
Quoted 2 lines · Yao Dongdong
Idle cpu is idler than non-idle cpu, so we needn't loop non-idle cpus after find an idle cpu.
While this check looks good,
I dont see how we are avoiding a loop?Are you suggesting that we break of the for loop once we set
shallowest_idle_cpu?
Thanks for your review.
I agree that the submit message is a bit misleading, what this patch do is just avoiding search for least_loaded_cpu in non-idle cpus.
sched:add check of shallowest_idle_cpu before search for least_loaded_cpu
Idle cpu is idler than non-idle cpu, so we needn't search for least_loaded_cpu after we have found an idle cpu.
what about this?
Thanks,
Yao Dongdong
Srikar Dronamraju
Reviewed-byQuoted 13 lines · Yao Dongdong
Quoted 10 lines · Srikar Dronamraju
Quoted 2 lines · Yao Dongdong
Idle cpu is idler than non-idle cpu, so we needn't loop non-idle cpus after find an idle cpu.
While this check looks good,
I dont see how we are avoiding a loop?Are you suggesting that we break of the for loop once we set
shallowest_idle_cpu?Thanks for your review.
Quoted 8 lines
I agree that the submit message is a bit misleading, what this patch do is just avoiding search for
least_loaded_cpuin non-idle cpus.sched:add check of
shallowest_idle_cpubefore search forleast_loaded_cpuIdle cpu is idler than non-idle cpu, so we needn't search for
least_loaded_cpuafter we have found an idle cpu.
Looks good for me.
Signature · 2 lines
Thanks and Regards Srikar Dronamraju