Messages in this thread | | | Date | Thu, 8 Nov 2012 09:15:32 -0800 | From | Tejun Heo <> | Subject | Re: [PATCH 3/9] cgroup: implement generic child / descendant walk macros |
| |
Hey, Michal.
On Thu, Nov 08, 2012 at 10:50:13AM +0100, Michal Hocko wrote: > On Sat 03-11-12 01:38:29, Tejun Heo wrote: > > Currently, cgroup doesn't provide any generic helper for walking a > > given cgroup's children or descendants. This patch adds the following > > three macros. > > > > * cgroup_for_each_child() - walk immediate children of a cgroup. > > > > * cgroup_for_each_descendant_pre() - visit all descendants of a cgroup > > in pre-order tree traversal. > > > > * cgroup_for_each_descendant_post() - visit all descendants of a > > cgroup in post-order tree traversal. > > > > All three only require the user to hold RCU read lock during > > traversal. Verifying that each iterated cgroup is online is the > > responsibility of the user. When used with proper synchronization, > > cgroup_for_each_descendant_pre() can be used to propagate config > > updates to descendants in reliable way. See comments for details. > > > > Signed-off-by: Tejun Heo <tj@kernel.org> > > I will convert mem_cgroup_iter to use this rather than css_get_next > after this gets into the next tree so that it can fly via Andrew. > > Reviewed-by: Michal Hocko <mhocko@suse.cz> > > Just a minor knit. You are talking about a config propagation while I > would consider state propagation more clear and less confusing. Config > is usually stable enough so that post_create is not necessary for > syncing (e.g. memcg.swappiness). It is a state which must be consistent > throughout the hierarchy which matters here.
Did s/config/state/g
Thanks.
-- tejun
| |