On Fri, Aug 30, 2019 at 18:49:39 +0100, subhra mazumdar wrote...

> Use SIS_CORE to disable idle core search. For some workloads
> select_idle_core becomes a scalability bottleneck, removing it improves
> throughput. Also there are workloads where disabling it can hurt latency,
> so need to have an option.
>
> Signed-off-by: subhra mazumdar <subhra.mazum...@oracle.com>
> ---
>  kernel/sched/fair.c | 8 +++++---
>  1 file changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
> index c31082d..23ec9c6 100644
> --- a/kernel/sched/fair.c
> +++ b/kernel/sched/fair.c
> @@ -6268,9 +6268,11 @@ static int select_idle_sibling(struct task_struct *p, 
> int prev, int target)
>       if (!sd)
>               return target;
>  
> -     i = select_idle_core(p, sd, target);
> -     if ((unsigned)i < nr_cpumask_bits)
> -             return i;
> +     if (sched_feat(SIS_CORE)) {
> +             i = select_idle_core(p, sd, target);
> +             if ((unsigned)i < nr_cpumask_bits)
> +                     return i;
> +     }
>  
>       i = select_idle_cpu(p, sd, target);
>       if ((unsigned)i < nr_cpumask_bits)

This looks like should be squashed with the previous one, or whatever
code you'll add to define when this "biasing" is to be used or not.

Best,
Patrick

-- 
#include <best/regards.h>

Patrick Bellasi

Reply via email to