|
|
Subscribe / Log in / New account

cpuset: Allow to modify isolcpus through cpuset

From:  Frederic Weisbecker <frederic-AT-kernel.org>
To:  LKML <linux-kernel-AT-vger.kernel.org>
Subject:  [RFC PATCH 0/6] cpuset: Allow to modify isolcpus through cpuset
Date:  Wed, 14 Jul 2021 15:54:14 +0200
Message-ID:  <20210714135420.69624-1-frederic@kernel.org>
Cc:  Frederic Weisbecker <frederic-AT-kernel.org>, Tejun Heo <tj-AT-kernel.org>, Peter Zijlstra <peterz-AT-infradead.org>, Juri Lelli <juri.lelli-AT-redhat.com>, Alex Belits <abelits-AT-marvell.com>, Nitesh Lal <nilal-AT-redhat.com>, Thomas Gleixner <tglx-AT-linutronix.de>, Nicolas Saenz <nsaenzju-AT-redhat.com>, Christoph Lameter <cl-AT-gentwo.de>, Marcelo Tosatti <mtosatti-AT-redhat.com>, Zefan Li <lizefan.x-AT-bytedance.com>, cgroups-AT-vger.kernel.org
Archive-link:  Article

The fact that "isolcpus=" behaviour can't be modified at runtime is an
eternal source of discussion and debate opposing a useful feature against
a terrible interface.

I've long since tried to figure out a proper way to control this at
runtime using cpusets, which isn't easy as a boot time single cpumask
is difficult to map to a hierarchy of cpusets that can even overlap.

The idea here is to map the boot-set isolation behaviour to any cpuset
directory whose cpumask is a subset of "isolcpus=". I let you browse
for details on the last patch.

Note this is still WIP and half-baked, but I figured it's important to
validate the interface early.

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

HEAD: 6d3dba1115b7ea464febf3763244c783e87c7baf

Thanks,
	Frederic
---

Frederic Weisbecker (6):
      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: Split domain housekeeping mask from the rest
      sched/isolation: Make HK_FLAG_DOMAIN mutable
      cpuset: Add cpuset.isolation_mask file


 drivers/pci/pci-driver.c        |  21 ++++++--
 include/linux/sched/isolation.h |   4 ++
 kernel/cgroup/cpuset.c          | 111 ++++++++++++++++++++++++++++++++++++++--
 kernel/sched/isolation.c        |  73 ++++++++++++++++++++++----
 kernel/workqueue.c              |   4 +-
 net/core/net-sysfs.c            |   6 +--
 6 files changed, 196 insertions(+), 23 deletions(-)


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