Re: [PATCH 3.12 118/127] cgroup: use an ordered workqueue for cgroup destruction

From: Jiri Slaby
Date: Mon Nov 28 2016 - 03:26:52 EST


On 11/26/2016, 09:55 PM, Hugh Dickins wrote:
> On Fri, 25 Nov 2016, Jiri Slaby wrote:
>
>> From: Hugh Dickins <hughd@xxxxxxxxxx>
>>
>> 3.12-stable review patch. If anyone has any objections, please let me know.
>>
>> ===============
>>
>> commit ab3f5faa6255a0eb4f832675507d9e295ca7e9ba upstream.
>>
>> Sometimes the cleanup after memcg hierarchy testing gets stuck in
>> mem_cgroup_reparent_charges(), unable to bring non-kmem usage down to 0.
>>
>> There may turn out to be several causes, but a major cause is this: the
>> workitem to offline parent can get run before workitem to offline child;
>> parent's mem_cgroup_reparent_charges() circles around waiting for the
>> child's pages to be reparented to its lrus, but it's holding cgroup_mutex
>> which prevents the child from reaching its mem_cgroup_reparent_charges().
>>
>> Just use an ordered workqueue for cgroup_destroy_wq.
>>
>> tj: Committing as the temporary fix until the reverse dependency can
>> be removed from memcg. Comment updated accordingly.
>>
>> Fixes: e5fca243abae ("cgroup: use a dedicated workqueue for cgroup destruction")
>> Suggested-by: Filipe Brandenburger <filbranden@xxxxxxxxxx>
>> Signed-off-by: Hugh Dickins <hughd@xxxxxxxxxx>
>> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx>
>> Signed-off-by: Jiri Slaby <jslaby@xxxxxxx>
>
> No, please drop this one.

Dropped, thank you!

--
js
suse labs