On Wed, 11.09.13 09:18, Gao feng (gaof...@cn.fujitsu.com) wrote: > >> The SYSTEMD.CGROUP(5) said if MemoryLimit=bytes is set for unit, it > >> implies MemeoryAccounting=true for this unit. > >> > >> But seems systemd didn't implement this hint. CPUShares & BlockIO have > >> the same problem, this is a shortage? patch needed? > > > > > > The logic for this is in src/core/cgroup.c's cgroup_context_get_mask() > > call, which will determine to which cgroup controllers to add a unit > > to. Note that setting MemoryLimit= will not actually propagate to the > > boolean exposed in MemoryAccounting=, it will just have the same effect > > as if it was set... > > > > Maybe we should also report "MemoryAccounting=yes" in cgroup_context_dump > if we set MemoryLimit.
What I don't really like about this is that we allow MemoryLimit to be altered dynamically, which would then need to influence MemoryAccounting= dynamically too. WHich means that we would have to shadow that field so that we can revert to the originally configured value. Also, it would have very weird effects if people then try to dynamically unset MemoryAccounting which would either possibly be a NOP or would have the effect of resseting MemoryLimit... If you follow what I mean. All that makes me want to keep it the way it is right now... Lennart -- Lennart Poettering - Red Hat, Inc. _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel