All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v7 0/5] cpuset: Enable cpuset controller in default hierarchy
@ 2018-04-19 13:46 ` Waiman Long
  0 siblings, 0 replies; 48+ messages in thread
From: Waiman Long @ 2018-04-19 13:46 UTC (permalink / raw)
  To: Tejun Heo, Li Zefan, Johannes Weiner, Peter Zijlstra, Ingo Molnar
  Cc: cgroups, linux-kernel, linux-doc, kernel-team, pjt, luto,
	Mike Galbraith, torvalds, Roman Gushchin, Juri Lelli,
	Waiman Long

v7:
 - Add a root-only cpuset.cpus.isolated control file for CPU isolation.
 - Enforce that load_balancing can only be turned off on cpusets with
   CPUs from the isolated list.
 - Update sched domain generation to allow cpusets with CPUs only
   from the isolated CPU list to be in separate root domains.

v6:
 - Hide cpuset control knobs in root cgroup.
 - Rename effective_cpus and effective_mems to cpus.effective and
   mems.effective respectively.
 - Remove cpuset.flags and add cpuset.sched_load_balance instead
   as the behavior of sched_load_balance has changed and so is
   not a simple flag.
 - Update cgroup-v2.txt accordingly.

v5:
 - Add patch 2 to provide the cpuset.flags control knob for the
   sched_load_balance flag which should be the only feature that is
   essential as a replacement of the "isolcpus" kernel boot parameter.

v4:
 - Further minimize the feature set by removing the flags control knob.

v3:
 - Further trim the additional features down to just memory_migrate.
 - Update Documentation/cgroup-v2.txt.

v6 patch: https://lkml.org/lkml/2018/3/21/530

The purpose of this patchset is to provide a basic set of cpuset
features for cgroup v2. This basic set includes the non-root "cpus",
"mems", "cpus.effective" and "mems.effective", "sched_load_balance"
control file as well as a root-only "cpus.isolated".

The root-only "cpus.isolated" file is added to support use cases similar
to the "isolcpus" kernel parameter. CPUs from the isolated list can be
put into child cpusets where "sched_load_balance" can be disabled to
allow finer control of task-cpu mappings of those isolated CPUs.

On the other hand, enabling the "sched_load_balance" on a cpuset with
only CPUs from the isolated list will allow those CPUs to use a separate
root domain from that of the root cpuset.

This patchset does not exclude the possibility of adding more features
in the future after careful consideration.

Patch 1 enables cpuset in cgroup v2 with cpus, mems and their
effective counterparts.

Patch 2 adds sched_load_balance whose behavior changes in v2 to become
hierarchical and includes an implicit !cpu_exclusive.

Patch 3 adds a new root-only "cpuset.cpus.isolated" control file for
CPU isolation purpose.

Patch 4 adds the limitation that "sched_load_balance" can only be turned
off in a cpuset if all the CPUs in the cpuset are already in the root's
"cpuset.cpus.isolated".

Patch 5 modifies the sched domain generation code to generate separate root
sched domains if all the CPUs in a cpuset comes from "cpuset.cpus.isolated".

In other words, all the CPUs that need to be isolated or in separate
root domains have to be put into the "cpuset.cpus.isolated" first. Then
child cpusets can be created to partition those isolated CPUs into
either separate root domains with "sched_load_balance" on or really
isolated CPUs with "sched_load_balance" off. Load balancing cannot
be turned off at root.

Waiman Long (5):
  cpuset: Enable cpuset controller in default hierarchy
  cpuset: Add cpuset.sched_load_balance to v2
  cpuset: Add a root-only cpus.isolated v2 control file
  cpuset: Restrict load balancing off cpus to subset of cpus.isolated
  cpuset: Make generate_sched_domains() recognize isolated_cpus

 Documentation/cgroup-v2.txt | 138 ++++++++++++++++++++-
 kernel/cgroup/cpuset.c      | 287 +++++++++++++++++++++++++++++++++++++++++---
 2 files changed, 404 insertions(+), 21 deletions(-)

-- 
1.8.3.1

^ permalink raw reply	[flat|nested] 48+ messages in thread

end of thread, other threads:[~2018-05-08  0:30 UTC | newest]

Thread overview: 48+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-04-19 13:46 [PATCH v7 0/5] cpuset: Enable cpuset controller in default hierarchy Waiman Long
2018-04-19 13:46 ` Waiman Long
2018-04-19 13:47 ` [PATCH v7 1/5] " Waiman Long
2018-04-19 13:47   ` Waiman Long
2018-04-19 13:47 ` [PATCH v7 2/5] cpuset: Add cpuset.sched_load_balance to v2 Waiman Long
2018-04-19 13:47   ` Waiman Long
2018-05-02 10:24   ` Peter Zijlstra
2018-05-02 10:24     ` Peter Zijlstra
2018-05-02 13:29     ` Waiman Long
2018-05-02 13:29       ` Waiman Long
2018-05-02 13:42       ` Peter Zijlstra
2018-05-02 13:42         ` Peter Zijlstra
2018-05-02 13:47         ` Waiman Long
2018-05-02 13:47           ` Waiman Long
2018-05-02 14:02           ` Peter Zijlstra
2018-05-02 14:02             ` Peter Zijlstra
2018-05-02 14:35             ` Mike Galbraith
2018-05-02 14:35               ` Mike Galbraith
2018-04-19 13:47 ` [PATCH v7 3/5] cpuset: Add a root-only cpus.isolated v2 control file Waiman Long
2018-04-19 13:47   ` Waiman Long
2018-04-23 15:56   ` Juri Lelli
2018-04-23 15:56     ` Juri Lelli
2018-05-02 14:08   ` Peter Zijlstra
2018-05-02 14:08     ` Peter Zijlstra
2018-05-08  0:30     ` Waiman Long
2018-05-08  0:30       ` Waiman Long
2018-04-19 13:47 ` [PATCH v7 4/5] cpuset: Restrict load balancing off cpus to subset of cpus.isolated Waiman Long
2018-04-19 13:47   ` Waiman Long
2018-05-01 19:51   ` Tejun Heo
2018-05-01 19:51     ` Tejun Heo
2018-05-01 20:33     ` Waiman Long
2018-05-01 20:33       ` Waiman Long
2018-05-01 20:58       ` Tejun Heo
2018-05-01 20:58         ` Tejun Heo
2018-05-01 21:31         ` Waiman Long
2018-05-01 21:31           ` Waiman Long
2018-04-19 13:47 ` [PATCH v7 5/5] cpuset: Make generate_sched_domains() recognize isolated_cpus Waiman Long
2018-04-19 13:47   ` Waiman Long
2018-04-20  8:23 ` [PATCH v7 0/5] cpuset: Enable cpuset controller in default hierarchy Mike Galbraith
2018-04-20  8:23   ` Mike Galbraith
2018-04-23 16:32   ` Waiman Long
2018-04-23 16:32     ` Waiman Long
2018-04-23 13:07 ` Juri Lelli
2018-04-23 13:07   ` Juri Lelli
2018-04-23 13:57   ` Juri Lelli
2018-04-23 13:57     ` Juri Lelli
2018-04-23 14:10     ` Waiman Long
2018-04-23 14:10       ` Waiman Long

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.