Hello, Michal. On Wed, Jun 05, 2013 at 09:30:23AM +0200, Michal Hocko wrote: > > I don't really get that. As long as the amount is bound and the > > overhead negligible / acceptable, why does it matter how long the > > pinning persists? > > Because the amount is not bound either. Just create a hierarchy and > trigger the hard limit and if you are careful enough you can always keep > some of the children in the cached pointer (with css reference, if you > will) and then release the hierarchy. You can do that repeatedly and > leak considerable amount of memory. It's still bound, no? Each live memcg can only keep limited number of cgroups cached, right? > > We aren't talking about something gigantic or can > > mem_cgroup is 888B now (depending on configuration). So I wouldn't call > it negligible. Do you think that the number can actually grow harmful? Would you be kind enough to share some calculations with me? > > In the off chance that this is a real problem, which I strongly doubt, > > as I wrote to Johannes, we can implement extremely dumb cleanup > > routine rather than this weak reference beast. > > That was my first version (https://lkml.org/lkml/2013/1/3/298) and > Johannes didn't like. To be honest I do not care _much_ which way we go > but we definitely cannot pin those objects for ever. I'll get to the barrier thread but really complex barrier dancing like that is only justifiable in extremely hot paths a lot of people pay attention to. It doesn't belong inside memcg proper. If the cached amount is an actual concern, let's please implement a simple clean up thing. All we need is a single delayed_work which scans the tree periodically. Johannes, what do you think? 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>