This patchset makes the following two major changes to the cpuset v2 code:
Patch 2: Add a new partition state "root-nolb" to create a partition root with load balancing disabled. This is for handling intermitten workloads that have a strict low latency requirement.
Patch 3: Allow partition roots that are not the top cpuset to distribute all its cpus to child partitions as long as there is no task associated with that partition root. This allows more flexibility for middleware to manage multiple partitions.
Patch 4 updates the cgroup-v2.rst file accordingly. Patch 5 adds a test to test the new cpuset partition code.
Waiman Long (5): cgroup/cpuset: Don't call validate_change() for some flag changes cgroup/cpuset: Add new cpus.partition type with no load balancing cgroup/cpuset: Allow non-top parent partition root to distribute out all CPUs 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 | 19 ++- kernel/cgroup/cpuset.c | 124 +++++++++++---- tools/testing/selftests/cgroup/Makefile | 2 +- .../selftests/cgroup/test_cpuset_prs.sh | 141 ++++++++++++++++++ 4 files changed, 247 insertions(+), 39 deletions(-) create mode 100755 tools/testing/selftests/cgroup/test_cpuset_prs.sh