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