Re: [PATCHSET] cgroup, memcg: introduce sane_behavior mount option

From: Li Zefan
Date: Sun Apr 14 2013 - 22:50:26 EST

On 2013/4/13 7:10, Tejun Heo wrote:
> It's a sad fact that at this point various cgroup controllers are
> carrying so many idiosyncrasies and pure insanities that it simply
> isn't possible to reach any sort of sane consistent behavior while
> staying compatible with what already has been exposed to userland.
> To make progress, those behaviors need to go but we can't simply drop
> or change the crazies as those are directly visible to userland. This
> patchset implements a mount option - sane_behavior - which turns on
> new saner behaviors, so that we can keep providing the old behaviors
> while and after transitioning to saner ones.
> As the behaviors which should be changed are still being determined
> and then implemented, __DEVEL__ prefix is added to the mount option
> and it triggers a warning message when used.
> The mount option changes the following behaviors after this patchset.
> * Mount options "noprefix" and "clone_children" are disallowed. Also,
> cgroupfs file cgroup.clone_children is not created.
> * When mounting an existing superblock, mount options should match.
> This is currently pretty crazy. If one mounts a cgroup, creates a
> subdirectory, unmounts it and then mount it again with different
> option, it looks like the new options are applied but they aren't.
> * Remount is disallowed.
> * memcg: .use_hierarchy is forced on and the cgroupfs file is not
> created.
> and there are a lot more to come. Basically, when turned on, all
> controllers should be ready to be mounted in the same hierarchy and
> not get in the way unless specifically configured - making blk-throtl
> hierarchical would need this to flip the meaning of limits, cpuset to
> allow tasks to run by default in new cgroups and handle empty cpusets
> in a way friendly to being co-mounted, and so on.
> This patchset contains the following four patches.
> 0001-cgroup-convert-cgroupfs_root-flag-bits-to-masks-and-.patch
> 0002-move-cgroupfs_root-to-include-linux-cgroup.h.patch
> 0003-cgroup-introduce-sane_behavior-mount-option.patch
> 0004-memcg-force-use_hierarchy-if-sane_behavior.patch
> 0001-0002 are prep patches. It exposes cgroupfs_root in cgroup.h so
> that flags can be tested with inline helpers.
> 0003 introduces sane_behavior mount option and implements behavior
> changes in cgroup core proper.
> 0004 makes memcg .use_hierarchy changes.

Looks good to me!

Acked-by: Li Zefan <lizefan@xxxxxxxxxx>

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at