[PATCH 19/33] cpuset: Propagate cpuset isolation update to timers through housekeeping
Frederic Weisbecker
frederic at kernel.org
Wed Dec 31 07:53:03 PST 2025
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<frederic at kernel.org>
> > ---
> > 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
More information about the linux-arm-kernel
mailing list