Subject: Re: [PATCH 19/33] cpuset: Propagate cpuset isolation update to timers through housekeeping

From: Frederic Weisbecker <[email-masked]>
Date: Wed, 31 Dec 2025 16:53:03 +0100

Le Fri, Dec 26, 2025 at 03:40:25PM -0500, Waiman Long a écrit :
> On 12/24/25 8:45 AM, Frederic Weisbecker wrote:
> > Until now, cpuset would propagate isolated partition changes to
> > timer migration so that unbound timers don't get migrated to isolated
> > CPUs.
> > 
> > Since housekeeping now centralizes, synchronize and propagates isolation
> > cpumask changes, perform the work from that subsystem for consolidation
> > and consistency purposes.
> > 
> > Signed-off-by: Frederic Weisbecker<[email-masked]>
> > ---
> >   kernel/cgroup/cpuset.c   | 3 ---
> >   kernel/sched/isolation.c | 5 +++++
> >   2 files changed, 5 insertions(+), 3 deletions(-)
> > 
> > diff --git a/kernel/cgroup/cpuset.c b/kernel/cgroup/cpuset.c
> > index a492d23dd622..25ac6c98113c 100644
> > --- a/kernel/cgroup/cpuset.c
> > +++ b/kernel/cgroup/cpuset.c
> > @@ -1487,9 +1487,6 @@ static void update_isolation_cpumasks(void)
> >   	ret = housekeeping_update(isolated_cpus, HK_TYPE_DOMAIN);
> >   	WARN_ON_ONCE(ret < 0);
> > -	ret = tmigr_isolated_exclude_cpumask(isolated_cpus);
> > -	WARN_ON_ONCE(ret < 0);
> > -
> >   	isolated_cpus_updating = false;
> >   }
> > diff --git a/kernel/sched/isolation.c b/kernel/sched/isolation.c
> > index d224bca299ed..84a257d05918 100644
> > --- a/kernel/sched/isolation.c
> > +++ b/kernel/sched/isolation.c
> > @@ -150,7 +150,12 @@ int housekeeping_update(struct cpumask *isol_mask, enum hk_type type)
> >   	pci_probe_flush_workqueue();
> >   	mem_cgroup_flush_workqueue();
> >   	vmstat_flush_workqueue();
> > +
> >   	err = workqueue_unbound_housekeeping_update(housekeeping_cpumask(type));
> > +	WARN_ON_ONCE(err < 0);
> > +
> > +	err = tmigr_isolated_exclude_cpumask(isol_mask);
> > +	WARN_ON_ONCE(err < 0);
> >   	kfree(old);
> 
> If you are doing "WARN_ON_ONCE() in housekeeping_update(), you don't need to
> do it in update_isolation_cpumask() to avoid double warnings. Actually, you
> don't need to return an error code from housekeeping_update() at all.
> 
> Cheers, Longman

Ok, I'm keeping the error return for allocation failures at the beginning of
housekeeping_update() but the rest will only warn in place.

Thanks.

-- 
Frederic Weisbecker
SUSE Labs