Re: [PATCH 3/4] sched/fair: Consider SMT in ASYM_PACKING load balance

2021-04-08 Thread Ricardo Neri
On Thu, Apr 08, 2021 at 01:21:22PM +0200, Peter Zijlstra wrote: > On Tue, Apr 06, 2021 at 04:17:51PM -0700, Ricardo Neri wrote: > > On Tue, Apr 06, 2021 at 01:18:09PM +0200, Peter Zijlstra wrote: > > > On Mon, Apr 05, 2021 at 09:11:07PM -0700, Ricardo Neri wrote: > > > > +static bool

Re: [PATCH 3/4] sched/fair: Consider SMT in ASYM_PACKING load balance

2021-04-08 Thread Ricardo Neri
On Thu, Apr 08, 2021 at 01:10:39PM +0200, Peter Zijlstra wrote: > On Tue, Apr 06, 2021 at 04:17:10PM -0700, Ricardo Neri wrote: > > On Tue, Apr 06, 2021 at 01:17:28PM +0200, Peter Zijlstra wrote: > > > On Mon, Apr 05, 2021 at 09:11:07PM -0700, Ricardo Neri wrote: > > > > @@ -8507,6 +8619,10 @@

Re: [PATCH 3/4] sched/fair: Consider SMT in ASYM_PACKING load balance

2021-04-08 Thread Peter Zijlstra
On Tue, Apr 06, 2021 at 04:17:51PM -0700, Ricardo Neri wrote: > On Tue, Apr 06, 2021 at 01:18:09PM +0200, Peter Zijlstra wrote: > > On Mon, Apr 05, 2021 at 09:11:07PM -0700, Ricardo Neri wrote: > > > +static bool cpu_group_is_smt(int cpu, struct sched_group *sg) > > > +{ > > > +#ifdef

Re: [PATCH 3/4] sched/fair: Consider SMT in ASYM_PACKING load balance

2021-04-08 Thread Peter Zijlstra
On Tue, Apr 06, 2021 at 04:17:10PM -0700, Ricardo Neri wrote: > On Tue, Apr 06, 2021 at 01:17:28PM +0200, Peter Zijlstra wrote: > > On Mon, Apr 05, 2021 at 09:11:07PM -0700, Ricardo Neri wrote: > > > @@ -8507,6 +8619,10 @@ static bool update_sd_pick_busiest(struct lb_env > > > *env, > > > if

Re: [PATCH 3/4] sched/fair: Consider SMT in ASYM_PACKING load balance

2021-04-06 Thread Ricardo Neri
On Tue, Apr 06, 2021 at 01:18:09PM +0200, Peter Zijlstra wrote: > On Mon, Apr 05, 2021 at 09:11:07PM -0700, Ricardo Neri wrote: > > +static bool cpu_group_is_smt(int cpu, struct sched_group *sg) > > +{ > > +#ifdef CONFIG_SCHED_SMT > > + if (!static_branch_likely(_smt_present)) > > +

Re: [PATCH 3/4] sched/fair: Consider SMT in ASYM_PACKING load balance

2021-04-06 Thread Ricardo Neri
On Tue, Apr 06, 2021 at 01:17:28PM +0200, Peter Zijlstra wrote: > On Mon, Apr 05, 2021 at 09:11:07PM -0700, Ricardo Neri wrote: > > @@ -8507,6 +8619,10 @@ static bool update_sd_pick_busiest(struct lb_env > > *env, > > if (!sgs->sum_h_nr_running) > > return false; > > > > + if

Re: [PATCH 3/4] sched/fair: Consider SMT in ASYM_PACKING load balance

2021-04-06 Thread Peter Zijlstra
On Mon, Apr 05, 2021 at 09:11:07PM -0700, Ricardo Neri wrote: > @@ -8507,6 +8619,10 @@ static bool update_sd_pick_busiest(struct lb_env *env, > if (!sgs->sum_h_nr_running) > return false; > > + if (sgs->group_type == group_asym_packing && > +

Re: [PATCH 3/4] sched/fair: Consider SMT in ASYM_PACKING load balance

2021-04-06 Thread Peter Zijlstra
On Mon, Apr 05, 2021 at 09:11:07PM -0700, Ricardo Neri wrote: > +static bool cpu_group_is_smt(int cpu, struct sched_group *sg) > +{ > +#ifdef CONFIG_SCHED_SMT > + if (!static_branch_likely(_smt_present)) > + return false; > + > + if (sg->group_weight == 1) > +

[PATCH 3/4] sched/fair: Consider SMT in ASYM_PACKING load balance

2021-04-05 Thread Ricardo Neri
When deciding to pull tasks in ASYM_PACKING, it is necessary not only to check for the idle state of the CPU doing the load balancing, but also of its SMT siblings. If the CPU doing the balancing is idle but its SMT siblings are not busy, performance suffers if it pulls tasks from a medium