|
|
Log in / Subscribe / Register

cpuset/isolation: Honour kthreads preferred affinity

From:  Frederic Weisbecker <frederic-AT-kernel.org>
To:  LKML <linux-kernel-AT-vger.kernel.org>
Subject:  [PATCH 00/33 v7] cpuset/isolation: Honour kthreads preferred affinity
Date:  Sun, 25 Jan 2026 23:45:07 +0100
Message-ID:  <20260125224541.50226-1-frederic@kernel.org>
Cc:  Frederic Weisbecker <frederic-AT-kernel.org>, "David S . Miller" <davem-AT-davemloft.net>, Greg Kroah-Hartman <gregkh-AT-linuxfoundation.org>, Ingo Molnar <mingo-AT-redhat.com>, Jakub Kicinski <kuba-AT-kernel.org>, Marco Crivellari <marco.crivellari-AT-suse.com>, Michal Hocko <mhocko-AT-suse.com>, cgroups-AT-vger.kernel.org, Shakeel Butt <shakeel.butt-AT-linux.dev>, Catalin Marinas <catalin.marinas-AT-arm.com>, Lai Jiangshan <jiangshanlai-AT-gmail.com>, Will Deacon <will-AT-kernel.org>, Simon Horman <horms-AT-kernel.org>, Michal Koutny <mkoutny-AT-suse.com>, Andrew Morton <akpm-AT-linux-foundation.org>, Gabriele Monaco <gmonaco-AT-redhat.com>, linux-pci-AT-vger.kernel.org, linux-mm-AT-kvack.org, Johannes Weiner <hannes-AT-cmpxchg.org>, Chen Ridong <chenridong-AT-huawei.com>, Thomas Gleixner <tglx-AT-linutronix.de>, Muchun Song <muchun.song-AT-linux.dev>, Tejun Heo <tj-AT-kernel.org>, Waiman Long <longman-AT-redhat.com>, Roman Gushchin <roman.gushchin-AT-linux.dev>, Vlastimil Babka <vbabka-AT-suse.cz>, linux-arm-kernel-AT-lists.infradead.org, Jens Axboe <axboe-AT-kernel.dk>, Paolo Abeni <pabeni-AT-redhat.com>, "Rafael J . Wysocki" <rafael-AT-kernel.org>, Bjorn Helgaas <bhelgaas-AT-google.com>, Eric Dumazet <edumazet-AT-google.com>, Danilo Krummrich <dakr-AT-kernel.org>, Phil Auld <pauld-AT-redhat.com>, linux-block-AT-vger.kernel.org, Peter Zijlstra <peterz-AT-infradead.org>, netdev-AT-vger.kernel.org
Archive-link:  Article

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(-)



Copyright © 2026, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds