public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] sched:skip loop non-idle cpus after find an idle cpu while find_idlest_cpu
@ 2014-10-27  3:13 Yao Dongdong
  2014-10-27  8:04 ` Srikar Dronamraju
  0 siblings, 1 reply; 4+ messages in thread
From: Yao Dongdong @ 2014-10-27  3:13 UTC (permalink / raw)
  To: Ingo Molnar, Peter Zijlstra; +Cc: LKML, yaodongdong

Idle cpu is idler than non-idle cpu, so we needn't loop non-idle cpus after find an idle cpu.

Signed-off-by:yaodongdong@huawei.com

---
 kernel/sched/fair.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index 0b069bf..2445a23 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -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


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] sched:skip loop non-idle cpus after find an idle cpu while find_idlest_cpu
  2014-10-27  3:13 [PATCH] sched:skip loop non-idle cpus after find an idle cpu while find_idlest_cpu Yao Dongdong
@ 2014-10-27  8:04 ` Srikar Dronamraju
  2014-10-27  8:58   ` Yao Dongdong
  0 siblings, 1 reply; 4+ messages in thread
From: Srikar Dronamraju @ 2014-10-27  8:04 UTC (permalink / raw)
  To: Yao Dongdong; +Cc: Ingo Molnar, Peter Zijlstra, LKML

* Yao Dongdong <yaodongdong@huawei.com> [2014-10-27 11:13:17]:

> 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 and Regards
Srikar


> Signed-off-by:yaodongdong@huawei.com
> 
> ---
>  kernel/sched/fair.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
> index 0b069bf..2445a23 100644
> --- a/kernel/sched/fair.c
> +++ b/kernel/sched/fair.c
> @@ -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 majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

-- 
Thanks and Regards
Srikar Dronamraju


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] sched:skip loop non-idle cpus after find an idle cpu while find_idlest_cpu
  2014-10-27  8:04 ` Srikar Dronamraju
@ 2014-10-27  8:58   ` Yao Dongdong
  2014-10-27  9:23     ` Srikar Dronamraju
  0 siblings, 1 reply; 4+ messages in thread
From: Yao Dongdong @ 2014-10-27  8:58 UTC (permalink / raw)
  To: Srikar Dronamraju; +Cc: Ingo Molnar, Peter Zijlstra, LKML

On 2014/10/27 16:04, Srikar Dronamraju wrote:
> * Yao Dongdong <yaodongdong@huawei.com> [2014-10-27 11:13:17]:
>
>> 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


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] sched:skip loop non-idle cpus after find an idle cpu while find_idlest_cpu
  2014-10-27  8:58   ` Yao Dongdong
@ 2014-10-27  9:23     ` Srikar Dronamraju
  0 siblings, 0 replies; 4+ messages in thread
From: Srikar Dronamraju @ 2014-10-27  9:23 UTC (permalink / raw)
  To: Yao Dongdong; +Cc: Ingo Molnar, Peter Zijlstra, LKML

* Yao Dongdong <yaodongdong@huawei.com> [2014-10-27 16:58:05]:

> On 2014/10/27 16:04, Srikar Dronamraju wrote:
> > * Yao Dongdong <yaodongdong@huawei.com> [2014-10-27 11:13:17]:
> >
> >> 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.
> 

Looks good for me.

Reviewed-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com>


-- 
Thanks and Regards
Srikar Dronamraju


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2014-10-27  9:23 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-10-27  3:13 [PATCH] sched:skip loop non-idle cpus after find an idle cpu while find_idlest_cpu Yao Dongdong
2014-10-27  8:04 ` Srikar Dronamraju
2014-10-27  8:58   ` Yao Dongdong
2014-10-27  9:23     ` Srikar Dronamraju

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox