|
|
Subscribe / Log in / New account

cgroup/cpuset: Add new cpuset partition type & empty effecitve cpus

From:  Waiman Long <longman-AT-redhat.com>
To:  Tejun Heo <tj-AT-kernel.org>, Zefan Li <lizefan.x-AT-bytedance.com>, Johannes Weiner <hannes-AT-cmpxchg.org>, Jonathan Corbet <corbet-AT-lwn.net>, Shuah Khan <shuah-AT-kernel.org>
Subject:  [PATCH v8 0/6] cgroup/cpuset: Add new cpuset partition type & empty effecitve cpus
Date:  Mon, 18 Oct 2021 10:36:13 -0400
Message-ID:  <20211018143619.205065-1-longman@redhat.com>
Cc:  cgroups-AT-vger.kernel.org, linux-kernel-AT-vger.kernel.org, linux-doc-AT-vger.kernel.org, linux-kselftest-AT-vger.kernel.org, Andrew Morton <akpm-AT-linux-foundation.org>, Roman Gushchin <guro-AT-fb.com>, Phil Auld <pauld-AT-redhat.com>, Peter Zijlstra <peterz-AT-infradead.org>, Juri Lelli <juri.lelli-AT-redhat.com>, Frederic Weisbecker <frederic-AT-kernel.org>, Marcelo Tosatti <mtosatti-AT-redhat.com>, Michal Koutný <mkoutny-AT-suse.com>, Waiman Long <longman-AT-redhat.com>
Archive-link:  Article

v8:
 - Reorganize the patch series and rationalize the features and
   constraints of a partition.
 - Update patch descriptions and documentation accordingly.

v7:
 - Simplify the documentation patch (patch 5) as suggested by Tejun.
 - Fix a typo in patch 2 and improper commit log in patch 3.

v6:
 - Remove duplicated tmpmask from update_prstate() which should fix the
   frame size too large problem reported by kernel test robot.

This patchset makes four enhancements to the cpuset v2 code.

 Patch 1: Enable partition with no task to have empty cpuset.cpus.effective.

 Patch 2: Refining the features and constraints of a cpuset partition
 clarifying what changes are allowed.

 Patch 3: Add a new partition state "isolated" to create a partition
 root without load balancing. This is for handling intermitten workloads
 that have a strict low latency requirement.

 Patch 4: Enable the "cpuset.cpus.partition" file to show the reason
 that causes invalid partition like "root invalid (No cpu available
 due to hotplug)".

Patch 5 updates the cgroup-v2.rst file accordingly. Patch 6 adds a new
cpuset test to test the new cpuset partition code.

Waiman Long (6):
  cgroup/cpuset: Allow no-task partition to have empty
    cpuset.cpus.effective
  cgroup/cpuset: Refining features and constraints of a partition
  cgroup/cpuset: Add a new isolated cpus.partition type
  cgroup/cpuset: Show invalid partition reason string
  cgroup/cpuset: Update description of cpuset.cpus.partition in
    cgroup-v2.rst
  kselftest/cgroup: Add cpuset v2 partition root state test

 Documentation/admin-guide/cgroup-v2.rst       | 153 ++--
 kernel/cgroup/cpuset.c                        | 393 +++++++----
 tools/testing/selftests/cgroup/Makefile       |   5 +-
 .../selftests/cgroup/test_cpuset_prs.sh       | 664 ++++++++++++++++++
 tools/testing/selftests/cgroup/wait_inotify.c |  87 +++
 5 files changed, 1115 insertions(+), 187 deletions(-)
 create mode 100755 tools/testing/selftests/cgroup/test_cpuset_prs.sh
 create mode 100644 tools/testing/selftests/cgroup/wait_inotify.c

-- 
2.27.0



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