summaryrefslogtreecommitdiffstats
path: root/MAINTAINERS
diff options
context:
space:
mode:
authorJohannes Weiner <hannes@cmpxchg.org>2014-10-03 01:16:57 +0200
committerLinus Torvalds <torvalds@linux-foundation.org>2014-10-03 01:28:44 +0200
commit2f7dd7a4100ad4affcb141605bef178ab98ccb18 (patch)
tree173b2cf20ce890bbeeb740cfac53b2ba5b859982 /MAINTAINERS
parentocfs2/dlm: should put mle when goto kill in dlm_assert_master_handler (diff)
downloadlinux-2f7dd7a4100ad4affcb141605bef178ab98ccb18.tar.xz
linux-2f7dd7a4100ad4affcb141605bef178ab98ccb18.zip
mm: memcontrol: do not iterate uninitialized memcgs
The cgroup iterators yield css objects that have not yet gone through css_online(), but they are not complete memcgs at this point and so the memcg iterators should not return them. Commit d8ad30559715 ("mm/memcg: iteration skip memcgs not yet fully initialized") set out to implement exactly this, but it uses CSS_ONLINE, a cgroup-internal flag that does not meet the ordering requirements for memcg, and so the iterator may skip over initialized groups, or return partially initialized memcgs. The cgroup core can not reasonably provide a clear answer on whether the object around the css has been fully initialized, as that depends on controller-specific locking and lifetime rules. Thus, introduce a memcg-specific flag that is set after the memcg has been initialized in css_online(), and read before mem_cgroup_iter() callers access the memcg members. Signed-off-by: Johannes Weiner <hannes@cmpxchg.org> Cc: Tejun Heo <tj@kernel.org> Acked-by: Michal Hocko <mhocko@suse.cz> Cc: Hugh Dickins <hughd@google.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: <stable@vger.kernel.org> [3.12+] Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to '')
0 files changed, 0 insertions, 0 deletions