On Wed, Nov 1, 2023 at 8:29 AM Michal Koutný <mkoutny@xxxxxxxx> wrote: > Yeah, both of these seem too complex checks when most of the time the > "stale" nr_populated_csets is sufficient (and notifications still). > > (Tracking nr_leaders would be broken in the case that I called "group > leader separation".) > Ok understood, thanks. > I've overlooked it at first (focused on exit_mm() only) but the > reproducer is explicit about enabled kernel preemption which extends the > gap quite a bit. > > (Fun fact: I tried moving cgroup_exit() next to task->signal->live > decrement in do_exit() and test_core cgroup selftest still passes. > (Not only) the preemption takes the fun out of it though.) I found this commit which made me think we couldn't move cgroup_exit up any further, but yeah preemption after the decrement is still a tiny problem. https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/kernel/exit.c?id=0b3fcf178deefd7b64154c2c0760a2c63df0b74f