On 04/10/2017, 09:30 PM, Hugh Dickins wrote: > On Mon, 10 Apr 2017, 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> > > Deja vu, it won't lie down! See your mailbox of 2016-11-25..28: > > No, please drop this one. It was indeed marked for stable at the time, > but then reverted by 1a11533fbd71792e8c5d36f6763fbce8df0d231d; and you > already have in 3.12-stable the commit which in the end we used to fix > the issue, 4fb1a86fb5e4209a7d4426d4e586c58e9edc74ac > "memcg: reparent charges of children before processing parent". Hmm, right. If only people stopped asking me to pick it. Dropped and blacklisted. Thanks! -- js suse labs