[GIT PULL] cgroup changes for v7.2

From: Tejun Heo

Date: Mon Jun 15 2026 - 18:01:13 EST


Hello,

The following changes since commit 4a39eda5fdd867fc39f3c039714dd432cee00268:

cgroup/cpuset: Reset DL migration state on can_attach() failure (2026-05-10 22:14:49 -1000)

are available in the Git repository at:

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

for you to fetch changes up to a99ce697ea5e27b867c9ba4ee55fa5ba3b8d1188:

cgroup: Migrate tasks to the root css when a controller is rebound (2026-06-02 08:25:29 -1000)

----------------------------------------------------------------
cgroup: Changes for v7.2

- Last cycle deferred css teardown on cgroup removal until the cgroup
depopulated, so a css is not taken offline while tasks can still
reference it. Disabling a controller through cgroup.subtree_control
still had the same problem. This reworks the deferral from per-cgroup
to per-css so that path is covered too.

- New RDMA controller monitoring files: rdma.peak for per-device peak
usage and rdma.events / rdma.events.local for resource-limit
exhaustion. The max-limit parser was rewritten, fixing two input
parsing bugs.

- cpuset: fix a sched-domain leak on the domain-rebuild failure path and
skip a redundant hardwall ancestor scan on v2.

- Misc: pair the remaining lockless cgroup.max.* reads with WRITE_ONCE,
assorted selftest robustness fixes, and doc path corrections.

----------------------------------------------------------------
Chen Wandun (1):
cgroup/cpuset: Skip hardwall ancestor scan in cpuset v2 in cpuset_current_node_allowed()

Costa Shulyupin (1):
docs: cgroup: Fix stale source file paths

Guopeng Zhang (2):
selftests/cgroup: enable memory controller in hugetlb memcg test
cgroup/cpuset: Free sched domains on rebuild guard failure

Hongfu Li (3):
selftests/cgroup: Fix incorrect variable check in online_cpus()
selftests/cgroup: Add NULL check after malloc in cgroup_util.c
selftests/cgroup: check malloc return value in alloc_anon functions

Ren Tamura (1):
cgroup: pair max limit READ_ONCE() with WRITE_ONCE()

Tao Cui (8):
cgroup/rdma: refactor resource parsing with match_table_t/match_token()
selftests/cgroup: fix child process escaping to parent cleanup in test_cpucg_nice
selftests/cgroup: fix misleading debug message in test_cgfreezer_time_child
cgroup/rdma: add rdma.peak for per-device peak usage tracking
cgroup/rdma: add rdma.events to track resource limit exhaustion
cgroup/rdma: add rdma.events.local for per-cgroup allocation failure attribution
cgroup/rdma: document rdma.peak, rdma.events and rdma.events.local
cgroup/rdma: Drop unnecessary READ_ONCE() on event counters

Tejun Heo (7):
Merge branch 'for-7.1-fixes' into for-7.2
cgroup: Inline cgroup_has_tasks() in cgroup.h
cgroup: Annotate unlocked nr_populated_* accesses with READ_ONCE/WRITE_ONCE
cgroup: Move populated counters to cgroup_subsys_state
cgroup: Add per-subsys-css kill_css_finish deferral
cgroup: Defer kill_css_finish() in cgroup_apply_control_disable()
cgroup: Migrate tasks to the root css when a controller is rebound

Documentation/admin-guide/cgroup-v1/cgroups.rst | 2 +-
Documentation/admin-guide/cgroup-v1/memcg_test.rst | 2 +-
Documentation/admin-guide/cgroup-v2.rst | 53 ++++
include/linux/cgroup-defs.h | 30 +-
include/linux/cgroup.h | 27 +-
include/linux/cgroup_rdma.h | 4 +
kernel/cgroup/cgroup.c | 222 +++++++++------
kernel/cgroup/cpuset-v1.c | 2 +-
kernel/cgroup/cpuset.c | 10 +-
kernel/cgroup/rdma.c | 315 ++++++++++++++++-----
tools/testing/selftests/cgroup/lib/cgroup_util.c | 9 +-
tools/testing/selftests/cgroup/test_cpu.c | 2 +-
tools/testing/selftests/cgroup/test_cpuset_prs.sh | 2 +-
tools/testing/selftests/cgroup/test_freezer.c | 2 +-
.../testing/selftests/cgroup/test_hugetlb_memcg.c | 8 +
tools/testing/selftests/cgroup/test_memcontrol.c | 53 ++--
16 files changed, 532 insertions(+), 211 deletions(-)

--
tejun