v3:
- Further revise the code based on feedback from sashiko and
reviewers.
- Add a new fix patch which fixes a bug found during the testing process.
- Add a patch to impose a new restriction that creating a child root
partition under an isolated parent partition is not allowed.
v2:
- Update patches 2 and 3 to address bugs reported by sashiko.
- Add a new test_cpuset_prs.sh patch to skip the test if some of the
required CPUs are offline.
Commit 4a74e418881f ("cgroup/cpuset: Check partition conflict with
housekeeping setup") and commit 103b08709e8a ("cgroup/cpuset: Fail if
isolated and nohz_full don't leave any housekeeping") add housekeeping
checks to fail partition changes that will violate the housekeeping
rules. However there are several issues that make the check incomplete and
missing in some cases. This series fixes the various known housekeeing
check issues as well as imposing a new restriction that a local root
partition cannot be created underneath an isolated partition. This
new restriction will eliminate a number of hard to tackle corner cases
which are unlikely to be used by the end users at all.
The first patch fixes a bug found in the testing process which is not
directly related to the goal of tackling the housekeeping check problem.
This series also updates test_cpuset_prs.sh by adding new test cases
to test the new code.
Waiman Long (9):
cgroup/cpuset: Fix a missing isolated_cpus update in
update_cpumasks_hier()
cgroup/cpuset: Consolidate isolated_cpus_can_update() into
prstate_housekeeping_conflict()
cgroup/cpuset: Consider all the exclusive CPUs when doing housekeeping
check
cgroup/cpuset: Do housekeeping check before converting invalid
partition to valid
cgroup/cpuset: Properly disabling partition when partition state
switching fails
cgroup/cpuset: Don't allow a child root partition under an isolated
parent
selftests/cgroup: Add tests for isolcpus housekeeping check
selftests/cgroup: Add tests for nohz_full housekeeping check
selftests/cgroup: Skip test_cpuset_prs.sh test if some required CPUs
are offline
Documentation/admin-guide/cgroup-v2.rst | 4 +-
kernel/cgroup/cpuset-internal.h | 1 +
kernel/cgroup/cpuset.c | 191 +++++++-------
.../selftests/cgroup/test_cpuset_prs.sh | 234 ++++++++++++++----
4 files changed, 294 insertions(+), 136 deletions(-)
--
2.55.0