Re: [RFC PATCH-cgroup 5/6] cgroup: Skip dying css in cgroup_apply_control_{enable,disable}

From: Waiman Long
Date: Wed Jun 21 2017 - 18:20:00 EST

On 06/21/2017 06:04 PM, Tejun Heo wrote:
> Hello,
> On Wed, Jun 21, 2017 at 06:01:56PM -0400, Waiman Long wrote:
>> I do think that it can happen with existing code because CSS killing is
>> asynchronous, I think. So the command can complete before the CSS is
>> actually gone. If the next command to reactivate it happens fast enough,
>> we can trigger that. When I added more checking to my test script
>> essentially increasing the latency between successive tests, I couldn't
>> trigger it anymore.
> While disabling is asynchronous, there's a flushing logic before
> starting reenabling things, so the existing code shouldn't trigger
> that condition. But then there's should and the reality. :)
> Thanks.
I actually got errors from cgroup_addrm_files() complaining about
creating existing sysfs files because of the css_populate_dir() call
when the css was dying but not gone yet. I added code in the patch just
to sidestep that. Maybe I should just force the call to css_create()
when the old one is dying to see if that will work out.