Messages in this thread | | | Date | Thu, 3 Dec 2015 10:16:32 -0500 | From | Tejun Heo <> | Subject | Re: [PATCH cgroup/for-4.4-fixes 2/3] cgroup: fix handling of multi-destination migration from subtree_control enabling |
| |
On Mon, Nov 30, 2015 at 05:44:31PM -0500, Tejun Heo wrote: > From 0d7d444e260493252e30c70813c7657e9ede2f12 Mon Sep 17 00:00:00 2001 > From: Tejun Heo <tj@kernel.org> > Date: Mon, 30 Nov 2015 17:24:34 -0500 > > Consider the following v2 hierarchy. > > P0 (+memory) --- P1 (-memory) --- A > \- B > > P0 has memory enabled in its subtree_control while P1 doesn't. If > both A and B contain processes, they would belong to the memory css of > P1. Now if memory is enabled on P1's subtree_control, memory csses > should be created on both A and B and A's processes should be moved to > the former and B's processes the latter. IOW, enabling controllers > can cause atomic migrations into different csses. > > The core cgroup migration logic has been updated accordingly but the > controller migration methods haven't and still assume that all tasks > migrate to a single target css; furthermore, the methods were fed the > css in which subtree_control was updated which is the parent of the > target csses. pids controller depends on the migration methods to > move charges and this made the controller attribute charges to the > wrong csses often triggering the following warning by driving a > counter negative.
Applying 1-2 to libata/for-4.4-fixes.
Thanks.
-- tejun
| |