Re: [PATCH RESEND 3/3 cgroup/for-5.20] cgroup: Make !percpu threadgroup_rwsem operations optional

From: Michal Koutný
Date: Tue Jul 26 2022 - 10:33:06 EST


On Sat, Jul 23, 2022 at 04:28:28AM -1000, Tejun Heo <tj@xxxxxxxxxx> wrote:
> This makes the hotter paths - fork and exit - slower as they're always
> forced into the slow path. There is no reason to force this on everyone
> especially given that more common static usage pattern can now completely
> avoid write-locking the rwsem. Write-locking is elided when turning on and
> off controllers on empty sub-trees and CLONE_INTO_CGROUP enables seeding a
> cgroup without grabbing the rwsem.

Just a practical note that CLONE_INTO_CGROUP may not be so widespread
yet [1][2].
But generally, the change makes sense to me.


> + CGRP_ROOT_FAVOR_DYNMODS = (1 << 4),
> +
> + /*
> * Enable cpuset controller in v1 cgroup to use v2 behavior.
> */
> - CGRP_ROOT_CPUSET_V2_MODE = (1 << 4),
> + CGRP_ROOT_CPUSET_V2_MODE = (1 << 16),
>
> /*
> * Enable legacy local memory.events.
> */
> - CGRP_ROOT_MEMORY_LOCAL_EVENTS = (1 << 5),
> + CGRP_ROOT_MEMORY_LOCAL_EVENTS = (1 << 17),
>
> /*
> * Enable recursive subtree protection
> */
> - CGRP_ROOT_MEMORY_RECURSIVE_PROT = (1 << 6),
> + CGRP_ROOT_MEMORY_RECURSIVE_PROT = (1 << 18),

Why this new gap in flag bits?

[1] https://github.com/systemd/systemd/pull/16706
[2] https://github.com/search?q=org%3Aopencontainers+CLONE_INTO_CGROUP&type=all (empty)

Attachment: signature.asc
Description: Digital signature