Hello, On Mon, Apr 08, 2013 at 04:47:50PM +0200, Michal Hocko wrote: > On Mon 08-04-13 16:20:11, Li Zefan wrote: > [...] > > @@ -5299,6 +5300,26 @@ struct cgroup_subsys_state *cgroup_css_from_dir(struct file *f, int id) > > return css ? css : ERR_PTR(-ENOENT); > > } > > > > +/** > > + * cgroup_is_ancestor - test "root" cgroup is an ancestor of "child" > > + * @child: the cgroup to be tested. > > + * @root: the cgroup supposed to be an ancestor of the child. > > + * > > + * Returns true if "root" is an ancestor of "child" in its hierarchy. > > + */ > > +bool cgroup_is_ancestor(struct cgroup *child, struct cgroup *root) > > +{ > > + int depth = child->depth; > > Is this functionality helpful for other controllers but memcg? > css_is_ancestor is currently used only by memcg code AFAICS and we can > get the same functionality easily by using something like: It's a basic hierarchy operation. I'd prefer it to be in cgroup and in general let's try to avoid memcg-specific infrastructure. It doesn't seem to end well. Thanks. -- tejun -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>