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