[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <99f02e8d-7cb8-4190-ac0c-343b1e9fb735@redhat.com>
Date: Tue, 2 Sep 2025 15:12:04 -0400
From: Waiman Long <llong@...hat.com>
To: Frederic Weisbecker <frederic@...nel.org>,
LKML <linux-kernel@...r.kernel.org>
Cc: Tejun Heo <tj@...nel.org>, Michal Hocko <mhocko@...e.com>,
Marco Crivellari <marco.crivellari@...e.com>,
Thomas Gleixner <tglx@...utronix.de>, Peter Zijlstra <peterz@...radead.org>
Subject: Re: [PATCH 00/33 v2] cpuset/isolation: Honour kthreads preferred
affinity
On 8/29/25 11:47 AM, Frederic Weisbecker wrote:
> Hi,
>
> The kthread code was enhanced lately to provide an infrastructure which
> manages the preferred affinity of unbound kthreads (node or custom
> cpumask) against housekeeping constraints and CPU hotplug events.
>
> One crucial missing piece is cpuset: when an isolated partition is
> created, deleted, or its CPUs updated, all the unbound kthreads in the
> top cpuset are affine to _all_ the non-isolated CPUs, possibly breaking
> their preferred affinity along the way
>
> Solve this with performing the kthreads affinity update from cpuset to
> the kthreads consolidated relevant code instead so that preferred
> affinities are honoured.
>
> The dispatch of the new cpumasks to workqueues and kthreads is performed
> by housekeeping, as per the nice Tejun's suggestion.
>
> As a welcome side effect, HK_TYPE_DOMAIN then integrates both the set
> from isolcpus= and cpuset isolated partitions. Housekeeping cpumasks are
> now modifyable with specific synchronization. A big step toward making
> nohz_full= also mutable through cpuset in the future.
>
> Changes since v1:
>
> - Drop the housekeeping lock and use RCU to synchronize housekeeping
> against cpuset changes.
>
> - Add housekeeping documentation
>
> - Simplify CPU hotplug handling
>
> - Collect ack from Shakeel Butt
>
> - Handle sched/arm64's task fallback cpumask move to HK_TYPE_DOMAIN
>
> - Fix genirq kthreads affinity
>
> - Add missing kernel doc
>
> git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git
> kthread/core-v2
>
> HEAD: 092784f7df0aa6415c91ae5edc1c1a72603b5c50
> Thanks,
> Frederic
I have finally finished the review of this long patch series. I like
your current approach and I will adopt my RFC patch series to be based
on yours. However, I do have comments and is looking forward to your
response.
Thanks,
Longman
Powered by blists - more mailing lists