Re: [patch -v4 4/8] memcg: enhance memcg iterator to supportpredicates
From: Tejun Heo
Date: Tue Jun 04 2013 - 15:38:39 EST
Hey, Michal.
On Tue, Jun 04, 2013 at 03:45:23PM +0200, Michal Hocko wrote:
> Is this something that you find serious enough to block this series?
> I do not want to push hard but I would like to settle with something
> finally. This is taking way longer than I would like.
I really don't think memcg can afford to add more mess than there
already is. Let's try to get things right with each change, please.
Can we please see how the other approach would look like? I have a
suspicion that it's likely be simpler but the devils are in the
details and all...
> > The iteration only depends on the current position. Can't you factor
> > out skipping part outside the function rather than rolling into this
> > monstery thing with predicate callback? Just test the condition
> > outside and call a function to skip whatever is necessary?
> >
> > Also, cgroup_rightmost_descendant() can be pretty expensive depending
> > on how your tree looks like.
>
> I have no problem using something else. This was just the easiest to
> use and it behaves more-or-less good for hierarchies which are more or
> less balanced. If this turns out to be a problem we can introduce a
> new cgroup_skip_subtree which would get to last->sibling or go up the
> parent chain until there is non-NULL sibling. But what would be the next
> selling point here if we made it perfect right now? ;)
Yeah, sure thing. I was just worried because the skipping here might
not be as good as the code seems to indicate. There will be cases,
which aren't too uncommon, where the skipping doesn't save much
compared to just continuing the pre-order walk, so.... And nobody
would really notice it unless [s]he looks really hard for it, which is
the more worrisome part for me. Maybe just stick a comment there
explaining that we probably want something better in the future?
Thanks.
--
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/