Hello, Michal. On Wed, Feb 05, 2014 at 05:19:40PM +0100, Michal Hocko wrote: > > Well, css_free() is the callback invoked when the ref counter hits 0, > > and that is a guarantee. From a memcg perspective, it's the right > > place to do reparenting, not css_offline(). > > OK, it seems I've totally misunderstood what is the purpose of > css_offline. My understanding was that any attempt to css_tryget will Heh, the semantics have changed significantly during the past year. It started as something pretty unusual (synchronous ref draining on rmdir) and took some iterations to reach the current design and we still don't have any proper documentation, so misunderstanding probably is inevitable, sorry. :) > fail when css_offline starts. I will read through Tejun's email as well > and think about it some more. Yes, css_tryget() is guaranteed to fail once css_offline() starts. This is to help ref draining so that controllers have a scalable way to reliably decide when to say no to new usages. Please note that css_get() is still allowed even after css_offline() (of course as long as the caller already has a ref). 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>