[PATCH 0/8] sched/isolation: Split housekeeping cpumask

From: Frederic Weisbecker
Date: Tue Jan 04 2022 - 09:49:56 EST


Hi,

To prepare for extending cpusets to control CPU isolation features
(nohz_full, rcu_nocbs, unbound timers, workqueues, kthreads affinity...),
we need to split the global housekeeping_mask to one cpumask per isolation
feature.

Doing so is quite a chunk already so I'm working on that as a standalone
patchset. Once that get merged, the next step is to finally provide a
cpuset interface for one of these isolation features: rcu_nocb could
be interesting to handle first as nohz_full depends on it.

git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git
isolation/split

HEAD: 2c07a16ff50d1e722babee28b926d70522e6bd3e

Thanks,
Frederic
---

Frederic Weisbecker (8):
pci: Decouple HK_FLAG_WQ and HK_FLAG_DOMAIN cpumask fetch
workqueue: Decouple HK_FLAG_WQ and HK_FLAG_DOMAIN cpumask fetch
net: Decouple HK_FLAG_WQ and HK_FLAG_DOMAIN cpumask fetch
sched/isolation: Use single feature type while referring to housekeeping cpumask
sched/isolation: Consolidate check for housekeeping minimum service
sched/isolation: Consolidate error handling
sched/isolation: Fix housekeeping_mask memory leak
sched/isolation: Split housekeeping cpumask per isolation features


arch/x86/kernel/cpu/aperfmperf.c | 6 +-
arch/x86/kvm/x86.c | 2 +-
drivers/base/cpu.c | 2 +-
drivers/pci/pci-driver.c | 21 +++--
include/linux/sched/isolation.h | 43 ++++++-----
kernel/cgroup/cpuset.c | 6 +-
kernel/cpu.c | 4 +-
kernel/irq/cpuhotplug.c | 4 +-
kernel/irq/manage.c | 4 +-
kernel/kthread.c | 4 +-
kernel/rcu/tasks.h | 2 +-
kernel/rcu/tree_plugin.h | 2 +-
kernel/sched/core.c | 12 +--
kernel/sched/fair.c | 10 +--
kernel/sched/isolation.c | 162 +++++++++++++++++++++++++--------------
kernel/sched/topology.c | 8 +-
kernel/watchdog.c | 2 +-
kernel/workqueue.c | 4 +-
net/core/net-sysfs.c | 6 +-
19 files changed, 180 insertions(+), 124 deletions(-)