On Thu 21-11-19 16:28:47, Michal Koutny wrote:
On Wed, Nov 13, 2019 at 05:08:29PM +0000, Roman Gushchin guro@fb.com wrote:
The thing here is that css_tryget_online() cannot pin the online state, so even if returned true, the cgroup can be offline at the return from the function.
Adding this for the record.
The actual offlining happens only from css_killed_ref_fn, which is percpu_ref_kill_and_confirm confirmation callback. That is only called after RCU grace period. So, css_tryget_online will pin the online state _inside_ rcu_read_{,un}lock section.
Thanks for the confirmation. Maybe we should start with a trivial patch and document this first. We can go and cleanup bogus users on top.