[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aNFpHgRnf-mV-4d8@2a01cb069018a81087c6c9b3bf9471d3.ipv6.abo.wanadoo.fr>
Date: Mon, 22 Sep 2025 17:19:58 +0200
From: Frederic Weisbecker <frederic@...nel.org>
To: Waiman Long <llong@...hat.com>
Cc: LKML <linux-kernel@...r.kernel.org>, Ingo Molnar <mingo@...hat.com>,
Marco Crivellari <marco.crivellari@...e.com>,
Michal Hocko <mhocko@...e.com>,
Peter Zijlstra <peterz@...radead.org>, Tejun Heo <tj@...nel.org>,
Thomas Gleixner <tglx@...utronix.de>,
Vlastimil Babka <vbabka@...e.cz>
Subject: Re: [PATCH 19/33] sched/isolation: Remove HK_TYPE_TICK test from
cpu_is_isolated()
Le Tue, Sep 02, 2025 at 10:28:58AM -0400, Waiman Long a écrit :
>
> On 8/29/25 11:48 AM, Frederic Weisbecker wrote:
> > It doesn't make sense to use nohz_full without also isolating the
> > related CPUs from the domain topology, either through the use of
> > isolcpus= or cpuset isolated partitions.
> >
> > And now HK_TYPE_DOMAIN includes all kinds of domain isolated CPUs.
> >
> > This means that HK_TYPE_KERNEL_NOISE (of which HK_TYPE_TICK is only an
> > alias) is always a superset of HK_TYPE_DOMAIN.
>
> That may not be true. Users can still set "isolcpus=" and "nohz_full=" with
> disjoint set of CPUs whether cpuset is used for additional isolated CPUs or
> not.
There can be domain isolated CPU that are not nohz_full indeed. But OTOH nohz_full
CPUs that are not domain isolated don't make much sense. I know such settings
exist but it's usually a half working misconfiguration. I wish I had
forbidden that since the early days but this was from times when we didn't know
about all the potential usages.
Thanks.
>
> Cheers,
> Longman
>
> >
> > Therefore if a CPU is not HK_TYPE_KERNEL_NOISE, it can't be
> > HK_TYPE_DOMAIN either. Testing the latter is then enough.
> >
> > Simplify cpu_is_isolated() accordingly.
> >
> > Signed-off-by: Frederic Weisbecker <frederic@...nel.org>
> > ---
> > include/linux/sched/isolation.h | 3 +--
> > 1 file changed, 1 insertion(+), 2 deletions(-)
> >
> > diff --git a/include/linux/sched/isolation.h b/include/linux/sched/isolation.h
> > index c02923ed4cbe..8d6d26d3fdf5 100644
> > --- a/include/linux/sched/isolation.h
> > +++ b/include/linux/sched/isolation.h
> > @@ -82,8 +82,7 @@ static inline void housekeeping_init(void) { }
> > static inline bool cpu_is_isolated(int cpu)
> > {
> > - return !housekeeping_test_cpu(cpu, HK_TYPE_DOMAIN) ||
> > - !housekeeping_test_cpu(cpu, HK_TYPE_TICK);
> > + return !housekeeping_test_cpu(cpu, HK_TYPE_DOMAIN);
> > }
> > #endif /* _LINUX_SCHED_ISOLATION_H */
>
--
Frederic Weisbecker
SUSE Labs
Powered by blists - more mailing lists