mirror-linux/Documentation
Linus Torvalds 11f00074f7 cgroup: Fixes for v7.1-rc2
- During v6.19, cgroup task unlink was moved from do_exit() to after the
   final task switch to satisfy a controller invariant. That left the kernel
   seeing tasks past exit_signals() longer than userspace expected, and
   several v7.0 follow-ups tried to bridge the gap by making rmdir wait for
   the kernel side. None held up. The latest is an A-A deadlock when rmdir
   is invoked by the reaper of zombies whose pidns teardown the rmdir itself
   is waiting on, which points at the synchronizing approach being
   fundamentally wrong:
 
   - Take a different approach: drop the wait, leave rmdir's user-visible
     side returning as soon as cgroup.procs is empty, and defer the css
     percpu_ref kill that drives ->css_offline() until the cgroup is fully
     depopulated.
 
   - Tagged for stable. Somewhat invasive but contained. The hope is that
     fixing forward sticks. If not, the fallback is to revert the entire
     chain and rework on the development branch.
 
   - Doesn't plug a pre-existing analogous race in
     cgroup_apply_control_disable() (controller disable via subtree_control).
     Not a regression. The development branch will do the more invasive
     restructuring needed for that.
 
 - Documentation update for cgroup-v1 charge-commit section that still
   referenced functions removed when the memcg hugetlb try-commit-cancel
   protocol was retired.
 -----BEGIN PGP SIGNATURE-----
 
 iIQEABYKACwWIQTfIjM1kS57o3GsC/uxYfJx3gVYGQUCafphbw4cdGpAa2VybmVs
 Lm9yZwAKCRCxYfJx3gVYGbydAQDxlEIeJPdJlwbU6X4PBW/7DYeDHABG7OdrFf5K
 Fq4ECAD/ZHsFyCNEOcZym6t2/FCZR0xbaPGQibLt3er6AkLRFwM=
 =3Jra
 -----END PGP SIGNATURE-----

Merge tag 'cgroup-for-7.1-rc2-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup

Pull cgroup fixes from Tejun Heo:

 - During v6.19, cgroup task unlink was moved from do_exit() to after the
   final task switch to satisfy a controller invariant. That left the kernel
   seeing tasks past exit_signals() longer than userspace expected, and
   several v7.0 follow-ups tried to bridge the gap by making rmdir wait for
   the kernel side. None held up.

   The latest is an A-A deadlock when rmdir is invoked by the reaper of
   zombies whose pidns teardown the rmdir itself is waiting on, which
   points at the synchronizing approach being fundamentally wrong.

   Take a different approach: drop the wait, leave rmdir's user-visible
   side returning as soon as cgroup.procs is empty, and defer the css
   percpu_ref kill that drives ->css_offline() until the cgroup is fully
   depopulated.

   Tagged for stable. Somewhat invasive but contained. The hope is that
   fixing forward sticks. If not, the fallback is to revert the entire
   chain and rework on the development branch.

   Note that this doesn't plug a pre-existing analogous race in
   cgroup_apply_control_disable() (controller disable via
   subtree_control). Not a regression. The development branch will do
   the more invasive restructuring needed for that.

 - Documentation update for cgroup-v1 charge-commit section that still
   referenced functions removed when the memcg hugetlb try-commit-cancel
   protocol was retired.

* tag 'cgroup-for-7.1-rc2-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
  docs: cgroup-v1: Update charge-commit section
  cgroup: Defer css percpu_ref kill on rmdir until cgroup is depopulated
2026-05-05 15:43:32 -07:00
..
ABI Char/Misc/IIO/and others driver updates for 7.1-rc1 2026-04-24 13:23:50 -07:00
PCI pci-v7.1-changes 2026-04-15 14:41:21 -07:00
RCU
accel
accounting
admin-guide cgroup: Fixes for v7.1-rc2 2026-05-05 15:43:32 -07:00
arch s390 updates for 7.1 merge window 2026-04-22 11:13:45 -07:00
block Documentation: ublk: address review comments for SHMEM_ZC docs 2026-04-09 19:10:44 -06:00
bpf docs/bpf: add missing fsession attach type to docs 2026-04-12 12:42:38 -07:00
cdrom
core-api mm.git review status for linus..mm-stable 2026-04-15 12:59:16 -07:00
cpu-freq
crypto Crypto library fix and documentation update for 7.1 2026-04-21 11:46:22 -07:00
dev-tools mm.git review status for linus..mm-stable 2026-04-15 12:59:16 -07:00
devicetree mailbox: updates for v7.1 2026-04-27 15:21:18 -07:00
doc-guide
driver-api We've finally gotten rid of the struct clk_ops::round_rate() code after months 2026-04-21 08:33:26 -07:00
edac
fault-injection
fb
features RISC-V updates for v7.1 2026-04-24 10:00:37 -07:00
filesystems \n 2026-04-27 16:45:39 -07:00
firmware-guide
firmware_class
fpga
gpu DRM Rust changes for v7.1-rc1 2026-04-01 07:32:05 +10:00
hid Docs: hid: intel-ish-hid: make long URL usable 2026-04-09 08:40:41 -06:00
hwmon hwmon: add support for MCP998X 2026-04-11 00:02:13 -07:00
i2c
iio
images
infiniband
input
kbuild Modules changes for v7.1-rc1 2026-04-14 17:16:38 -07:00
kernel-hacking
leds
litmus-tests
livepatch
locking
maintainer
mhi
misc-devices
mm mm.git review status for linus..mm-stable 2026-04-15 12:59:16 -07:00
netlabel
netlink net: psp: require admin permission for dev-set and key-rotate 2026-04-28 17:44:20 -07:00
networking Delete some obsolete networking code 2026-04-24 09:41:58 -07:00
nvdimm
nvme
pcmcia
peci
power
process SPDX change for 7.1-rc1 2026-04-24 13:30:54 -07:00
rust docs: rust: general-information: use real example 2026-04-07 10:00:25 +02:00
scheduler sched_ext: Changes for v7.1 2026-04-15 10:54:24 -07:00
scsi
security ipe/stable-7.1 PR 20260413 2026-04-15 15:19:45 -07:00
sound
sphinx
sphinx-includes
sphinx-static
spi
staging net: remove ax25 and amateur radio (hamradio) subsystem 2026-04-23 10:24:02 -07:00
sunrpc/xdr
target
tee
timers
tools RTLA patches for v7.1: 2026-04-15 17:48:24 -07:00
trace Runtime Verification updates for 7.1: 2026-04-15 17:15:18 -07:00
translations Delete some obsolete networking code 2026-04-24 09:41:58 -07:00
usb
userspace-api dma-mapping updates for Linux 7.0: 2026-04-17 11:12:42 -07:00
virt - ESA nesting support 2026-04-13 19:01:15 +02:00
w1
watchdog
wmi platform/wmi: Replace .no_notify_data with .min_event_size 2026-04-13 14:11:27 +03:00
.gitignore
.renames.txt drivers: net: smsc: smc91c92: Remove this driver 2026-04-23 15:57:06 -07:00
Changes
CodingStyle
Kconfig
Makefile
SubmittingPatches
atomic_bitops.txt
atomic_t.txt
conf.py
docutils.conf
index.rst
memory-barriers.txt
subsystem-apis.rst net: remove ISDN subsystem and Bluetooth CMTP 2026-04-23 10:24:02 -07:00