Subject: [PATCH 00/33 v7] cpuset/isolation: Honour kthreads preferred affinity

From: Frederic Weisbecker <[email-masked]>
Date: Sun, 25 Jan 2026 23:45:07 +0100

Hi,

Here is just a few changes sinces v6:

- More tags

- Fix raw access to __rcu pointer (Simon Horman, Waiman)

- Fix cpu_hotplug_lock deadlock and use correct static branch API
  (Chen Ridong)

- Fix a few changelogs that got the set rules between HK_TYPE_DOMAIN
  HL_TYPE_KERNEL_NOISE wrong.

- Simplify arm64 mismatched 32 bits support (Will Deacon)

If all goes well, my plan is to make the pull request myself for the
upcoming merge window.

git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git
	kthread/core-v7

HEAD: dcbe41f43e2cb32fbdbaf73b7745739e018b35dc

Thanks,
	Frederic
---

Frederic Weisbecker (33):
      PCI: Prepare to protect against concurrent isolated cpuset change
      cpu: Revert "cpu/hotplug: Prevent self deadlock on CPU hot-unplug"
      memcg: Prepare to protect against concurrent isolated cpuset change
      mm: vmstat: Prepare to protect against concurrent isolated cpuset change
      sched/isolation: Save boot defined domain flags
      cpuset: Convert boot_hk_cpus to use HK_TYPE_DOMAIN_BOOT
      driver core: cpu: Convert /sys/devices/system/cpu/isolated to use HK_TYPE_DOMAIN_BOOT
      net: Keep ignoring isolated cpuset change
      block: Protect against concurrent isolated cpuset change
      timers/migration: Prevent from lockdep false positive warning
      cpu: Provide lockdep check for CPU hotplug lock write-held
      cpuset: Provide lockdep check for cpuset lock held
      sched/isolation: Convert housekeeping cpumasks to rcu pointers
      cpuset: Update HK_TYPE_DOMAIN cpumask from cpuset
      sched/isolation: Flush memcg workqueues on cpuset isolated partition change
      sched/isolation: Flush vmstat workqueues on cpuset isolated partition change
      PCI: Flush PCI probe workqueue on cpuset isolated partition change
      cpuset: Propagate cpuset isolation update to workqueue through housekeeping
      cpuset: Propagate cpuset isolation update to timers through housekeeping
      timers/migration: Remove superfluous cpuset isolation test
      cpuset: Remove cpuset_cpu_is_isolated()
      sched/isolation: Remove HK_TYPE_TICK test from cpu_is_isolated()
      PCI: Remove superfluous HK_TYPE_WQ check
      kthread: Refine naming of affinity related fields
      kthread: Include unbound kthreads in the managed affinity list
      kthread: Include kthreadd to the managed affinity list
      kthread: Rely on HK_TYPE_DOMAIN for preferred affinity management
      sched: Switch the fallback task allowed cpumask to HK_TYPE_DOMAIN
      sched/arm64: Move fallback task cpumask to HK_TYPE_DOMAIN
      kthread: Honour kthreads preferred affinity after cpuset changes
      kthread: Comment on the purpose and placement of kthread_affine_node() call
      kthread: Document kthread_affine_preferred()
      doc: Add housekeeping documentation

 Documentation/arch/arm64/asymmetric-32bit.rst |  12 +-
 Documentation/core-api/housekeeping.rst       | 111 ++++++++++++++++++
 Documentation/core-api/index.rst              |   1 +
 arch/arm64/kernel/cpufeature.c                |   6 +-
 block/blk-mq.c                                |   6 +-
 drivers/base/cpu.c                            |   2 +-
 drivers/pci/pci-driver.c                      |  71 +++++++++---
 include/linux/cpuhplock.h                     |   1 +
 include/linux/cpuset.h                        |   8 +-
 include/linux/kthread.h                       |   1 +
 include/linux/memcontrol.h                    |   4 +
 include/linux/mmu_context.h                   |   2 +-
 include/linux/pci.h                           |   3 +
 include/linux/percpu-rwsem.h                  |   1 +
 include/linux/sched/isolation.h               |  16 ++-
 include/linux/vmstat.h                        |   2 +
 include/linux/workqueue.h                     |   2 +-
 init/Kconfig                                  |   1 +
 kernel/cgroup/cpuset.c                        |  53 +++------
 kernel/cpu.c                                  |  42 +++----
 kernel/kthread.c                              | 160 +++++++++++++++++---------
 kernel/sched/isolation.c                      | 145 ++++++++++++++++++-----
 kernel/sched/sched.h                          |   4 +
 kernel/time/timer_migration.c                 |  25 ++--
 kernel/workqueue.c                            |  17 +--
 mm/memcontrol.c                               |  31 ++++-
 mm/vmstat.c                                   |  15 ++-
 net/core/net-sysfs.c                          |   2 +-
 28 files changed, 538 insertions(+), 206 deletions(-)