Messages in this thread | ![/](/images/icornerl.gif) | | Date | Thu, 4 Apr 2024 09:27:45 +0200 | From | Peter Zijlstra <> | Subject | Re: [PATCH 6/7] sched/fair: Remove on_null_domain() and redundant checks |
| |
On Wed, Apr 03, 2024 at 05:05:38PM +0200, Pierre Gondois wrote: > CPUs with a NULL sched domain are removed from the HKR_TYPE_SCHED > isolation mask. The two following checks are equialent: > - !housekeeping_runtime_test_cpu(cpu, HKR_TYPE_SCHED) > - on_null_domain(rq) > > Remove on_null_domain() and the redundant checks. > > Signed-off-by: Pierre Gondois <pierre.gondois@arm.com> > --- > kernel/sched/fair.c | 18 ++++++------------ > 1 file changed, 6 insertions(+), 12 deletions(-) > > diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c > index 3e0f2a0f153f..9657c8f2176b 100644 > --- a/kernel/sched/fair.c > +++ b/kernel/sched/fair.c > @@ -11830,11 +11830,6 @@ static void sched_balance_domains(struct rq *rq, enum cpu_idle_type idle) > > } > > -static inline int on_null_domain(struct rq *rq) > -{ > - return unlikely(!rcu_dereference_sched(rq->sd)); > -} > - > #ifdef CONFIG_NO_HZ_COMMON > /* > * NOHZ idle load balancing (ILB) details: > @@ -12040,7 +12035,7 @@ void nohz_balance_exit_idle(struct rq *rq) > SCHED_WARN_ON(rq != this_rq()); > > /* If we're a completely isolated CPU, we don't play: */ > - if (on_null_domain(rq)) > + if (!housekeeping_runtime_test_cpu(cpu_of(rq), HKR_TYPE_SCHED)) > return; > > if (likely(!rq->nohz_tick_stopped))
This seems broken, the whole null domain can happen with cpusets, but this housekeeping nonsense is predicated on CPU_ISOLATION and none of that is mandatory for CPUSETS.
| ![\](/images/icornerr.gif) |