diff options
author | Tejun Heo <[email protected]> | 2016-01-21 15:31:11 -0500 |
---|---|---|
committer | Tejun Heo <[email protected]> | 2016-01-22 10:42:57 -0500 |
commit | aa226ff4a1ce79f229c6b7a4c0a14e17fececd01 (patch) | |
tree | 1db4c5f20ffafca177de0bbe26beddcc60e26f93 /tools/perf/scripts/python/futex-contention.py | |
parent | e93ad19d05648397ef3bcb838d26aec06c245dc0 (diff) |
cgroup: make sure a parent css isn't offlined before its children
There are three subsystem callbacks in css shutdown path -
css_offline(), css_released() and css_free(). Except for
css_released(), cgroup core didn't guarantee the order of invocation.
css_offline() or css_free() could be called on a parent css before its
children. This behavior is unexpected and led to bugs in cpu and
memory controller.
This patch updates offline path so that a parent css is never offlined
before its children. Each css keeps online_cnt which reaches zero iff
itself and all its children are offline and offline_css() is invoked
only after online_cnt reaches zero.
This fixes the memory controller bug and allows the fix for cpu
controller.
Signed-off-by: Tejun Heo <[email protected]>
Reported-and-tested-by: Christian Borntraeger <[email protected]>
Reported-by: Brian Christiansen <[email protected]>
Link: http://lkml.kernel.org/g/[email protected]
Link: http://lkml.kernel.org/g/CAKB58ikDkzc8REt31WBkD99+hxNzjK4+FBmhkgS+NVrC9vjMSg@mail.gmail.com
Cc: Heiko Carstens <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: [email protected]
Diffstat (limited to 'tools/perf/scripts/python/futex-contention.py')
0 files changed, 0 insertions, 0 deletions