]> git.baikalelectronics.ru Git - kernel.git/commit
mm: memcontrol: fix warning when allocating the root cgroup
authorJohannes Weiner <hannes@cmpxchg.org>
Thu, 13 Aug 2020 14:40:54 +0000 (10:40 -0400)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 13 Aug 2020 19:15:21 +0000 (12:15 -0700)
commit1b593cdb1e76765f04127adcbdf0b684f3d14a80
tree21f47a7c3f9781250d372b5a8b8361de4c4fac4c
parentb8874d0c2cb1ae331918a91884f9071f705a902c
mm: memcontrol: fix warning when allocating the root cgroup

Commit 9209067f96cf ("mm: memcg: charge memcg percpu memory to the
parent cgroup") adds memory tracking to the memcg kernel structures
themselves to make cgroups liable for the memory they are consuming
through the allocation of child groups (which can be significant).

This code is a bit awkward as it's spread out through several functions:
The outermost function does memalloc_use_memcg(parent) to set up
current->active_memcg, which designates which cgroup to charge, and the
inner functions pass GFP_ACCOUNT to request charging for specific
allocations.  To make sure this dependency is satisfied at all times -
to make sure we don't randomly charge whoever is calling the functions -
the inner functions warn on !current->active_memcg.

However, this triggers a false warning when the root memcg itself is
allocated.  No parent exists in this case, and so current->active_memcg
is rightfully NULL.  It's a false positive, not indicative of a bug.

Delete the warnings for now, we can revisit this later.

Fixes: 9209067f96cf ("mm: memcg: charge memcg percpu memory to the parent cgroup")
Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Acked-by: Roman Gushchin <guro@fb.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/memcontrol.c