mm: memcontrol: avoid unused function warning
A bugfix in v4.8-rc2 introduced a harmless warning when
CONFIG_MEMCG_SWAP is disabled but CONFIG_MEMCG is enabled:
mm/memcontrol.c:4085:27: error: 'mem_cgroup_id_get_online' defined but not used [-Werror=unused-function]
static struct mem_cgroup *mem_cgroup_id_get_online(struct mem_cgroup *memcg)
This moves the function inside of the #ifdef block that hides the
calling function, to avoid the warning.
Fixes: 1f47b61fb4
("mm: memcontrol: fix swap counter leak on swapout from offline cgroup")
Link: http://lkml.kernel.org/r/20160824113733.2776701-1-arnd@arndb.de
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Michal Hocko <mhocko@suse.com>
Acked-by: Vladimir Davydov <vdavydov@virtuozzo.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Родитель
b32eaf71db
Коммит
358c07fcc3
|
@ -4082,24 +4082,6 @@ static void mem_cgroup_id_get_many(struct mem_cgroup *memcg, unsigned int n)
|
|||
atomic_add(n, &memcg->id.ref);
|
||||
}
|
||||
|
||||
static struct mem_cgroup *mem_cgroup_id_get_online(struct mem_cgroup *memcg)
|
||||
{
|
||||
while (!atomic_inc_not_zero(&memcg->id.ref)) {
|
||||
/*
|
||||
* The root cgroup cannot be destroyed, so it's refcount must
|
||||
* always be >= 1.
|
||||
*/
|
||||
if (WARN_ON_ONCE(memcg == root_mem_cgroup)) {
|
||||
VM_BUG_ON(1);
|
||||
break;
|
||||
}
|
||||
memcg = parent_mem_cgroup(memcg);
|
||||
if (!memcg)
|
||||
memcg = root_mem_cgroup;
|
||||
}
|
||||
return memcg;
|
||||
}
|
||||
|
||||
static void mem_cgroup_id_put_many(struct mem_cgroup *memcg, unsigned int n)
|
||||
{
|
||||
if (atomic_sub_and_test(n, &memcg->id.ref)) {
|
||||
|
@ -5821,6 +5803,24 @@ static int __init mem_cgroup_init(void)
|
|||
subsys_initcall(mem_cgroup_init);
|
||||
|
||||
#ifdef CONFIG_MEMCG_SWAP
|
||||
static struct mem_cgroup *mem_cgroup_id_get_online(struct mem_cgroup *memcg)
|
||||
{
|
||||
while (!atomic_inc_not_zero(&memcg->id.ref)) {
|
||||
/*
|
||||
* The root cgroup cannot be destroyed, so it's refcount must
|
||||
* always be >= 1.
|
||||
*/
|
||||
if (WARN_ON_ONCE(memcg == root_mem_cgroup)) {
|
||||
VM_BUG_ON(1);
|
||||
break;
|
||||
}
|
||||
memcg = parent_mem_cgroup(memcg);
|
||||
if (!memcg)
|
||||
memcg = root_mem_cgroup;
|
||||
}
|
||||
return memcg;
|
||||
}
|
||||
|
||||
/**
|
||||
* mem_cgroup_swapout - transfer a memsw charge to swap
|
||||
* @page: page whose memsw charge to transfer
|
||||
|
|
Загрузка…
Ссылка в новой задаче