[PATCHSET] cgroup, memcg: introduce sane_behavior mount option
lizefan at huawei.com
Mon Apr 15 02:50:00 UTC 2013
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
> 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-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 at huawei.com>
More information about the Containers