[GIT PULL] cgroup: Changes for v6.12

From: Tejun Heo
Date: Thu Sep 12 2024 - 16:58:14 EST


The following changes since commit ff0ce721ec213499ec5a532041fb3a1db2dc5ecb:

cgroup/cpuset: Eliminate unncessary sched domains rebuilds in hotplug (2024-08-05 10:54:25 -1000)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git/ tags/cgroup-for-6.12

for you to fetch changes up to af000ce85293b8e608f696f0c6c280bc3a75887f:

cgroup: Do not report unavailable v1 controllers in /proc/cgroups (2024-09-10 10:04:28 -1000)

----------------------------------------------------------------
cgroup: Changes for v6.12

- cpuset isolation improvements.

- cpuset cgroup1 support is split into its own file behind the new config
option CONFIG_CPUSET_V1. This makes it the second controller which makes
cgroup1 support optional after memcg.

- Handling of unavailable v1 controller handling improved during cgroup1
mount operations.

- union_find applied to cpuset. It makes code simpler and more efficient.

- Reduce spurious events in pids.events.

- Cleanups and other misc changes.

- Contains a merge of cgroup/for-6.11-fixes to receive cpuset fixes that
further changes build upon.

----------------------------------------------------------------
Chen Ridong (18):
cgroup/cpuset: remove child_ecpus_count
cgroup/cpuset: add decrease attach_in_progress helpers
cgroup: update some statememt about delegation
cgroup/cpuset: Correct invalid remote parition prs
cgroup/cpuset: remove fetch_xcpus
cgroup/cpuset: remove use_parent_ecpus of cpuset
cgroup/cpuset: introduce cpuset-v1.c
cgroup/cpuset: move common code to cpuset-internal.h
cgroup/cpuset: move memory_pressure to cpuset-v1.c
cgroup/cpuset: move relax_domain_level to cpuset-v1.c
cgroup/cpuset: move memory_spread to cpuset-v1.c
cgroup/cpuset: add callback_lock helper
cgroup/cpuset: move legacy hotplug update to cpuset-v1.c
cgroup/cpuset: move validate_change_legacy to cpuset-v1.c
cgroup/cpuset: move v1 interfaces to cpuset-v1.c
cgroup/cpuset: rename functions shared between v1 and v2
cgroup/cpuset: guard cpuset-v1 code under CONFIG_CPUSETS_V1
cgroup/cpuset: add sefltest for cpuset v1

Michal Koutný (3):
cgroup/cpuset: Expose cpuset filesystem with cpuset v1 only
cgroup: Disallow mounting v1 hierarchies without controller implementation
cgroup: Do not report unavailable v1 controllers in /proc/cgroups

Tejun Heo (1):
Merge branch 'cgroup/for-6.11-fixes' into cgroup/for-6.12

Waiman Long (7):
cgroup: Show # of subsystem CSSes in cgroup.stat
cgroup/cpuset: Check for partition roots with overlapping CPUs
selftest/cgroup: Add new test cases to test_cpuset_prs.sh
cgroup: Fix incorrect WARN_ON_ONCE() in css_release_work_fn()
cgroup/cpuset: Account for boot time isolated CPUs
selftest/cgroup: Make test_cpuset_prs.sh deal with pre-isolated CPUs
cgroup/cpuset: Move cpu.h include to cpuset-internal.h

Xavier (3):
Union-Find: add a new module in kernel library
cpuset: use Union-Find to optimize the merging of cpumasks
Documentation: Fix the compilation errors in union_find.rst

Xiu Jianfeng (3):
cgroup/pids: Avoid spurious event notification
cgroup/cpuset: Remove cpuset_slab_spread_rotor
cgroup/pids: Remove unreachable paths of pids_{can,cancel}_fork

Documentation/admin-guide/cgroup-v2.rst | 22 +-
Documentation/core-api/index.rst | 1 +
Documentation/core-api/union_find.rst | 106 ++
.../translations/zh_CN/core-api/index.rst | 1 +
.../translations/zh_CN/core-api/union_find.rst | 92 ++
MAINTAINERS | 12 +
include/linux/cgroup-defs.h | 14 +
include/linux/cpuset.h | 10 +-
include/linux/sched.h | 1 -
include/linux/union_find.h | 41 +
init/Kconfig | 13 +
kernel/cgroup/Makefile | 1 +
kernel/cgroup/cgroup-v1.c | 17 +-
kernel/cgroup/cgroup.c | 68 +-
kernel/cgroup/cpuset-internal.h | 305 ++++++
kernel/cgroup/cpuset-v1.c | 562 ++++++++++
kernel/cgroup/cpuset.c | 1155 +++-----------------
kernel/cgroup/pids.c | 32 +-
kernel/fork.c | 1 -
lib/Makefile | 2 +-
lib/union_find.c | 49 +
tools/testing/selftests/cgroup/test_cpuset_prs.sh | 56 +-
.../selftests/cgroup/test_cpuset_v1_base.sh | 77 ++
23 files changed, 1569 insertions(+), 1069 deletions(-)
create mode 100644 Documentation/core-api/union_find.rst
create mode 100644 Documentation/translations/zh_CN/core-api/union_find.rst
create mode 100644 include/linux/union_find.h
create mode 100644 kernel/cgroup/cpuset-internal.h
create mode 100644 kernel/cgroup/cpuset-v1.c
create mode 100644 lib/union_find.c
create mode 100755 tools/testing/selftests/cgroup/test_cpuset_v1_base.sh

--
tejun