[PATCH] memcg: deprecate memory.force_empty knob

Michal Hocko
2014-05-12T14:58:06Z

And this one for deprecating force_empty.
---
>From 9bb3119900baa07b92fac932991cf94dd930f907 Mon Sep 17 00:00:00 2001
From: Michal Hocko <mhocko@suse.cz>
Date: Mon, 12 May 2014 16:20:46 +0200
Subject: [PATCH] memcg: deprecate memory.force_empty knob

force_empty has been introduced primarily to drop memory before it gets
reparented on the group removal. This alone doesn't sound fully
justified because reparented pages which are not in use can reclaimed
also later when there is a memory pressure on the parent level.

Signed-off-by: Michal Hocko <mhocko@suse.cz>
---
Documentation/cgroups/memory.txt | 3 +++
mm/memcontrol.c | 4 ++++
2 files changed, 7 insertions(+)

diff --git a/Documentation/cgroups/memory.txt b/Documentation/cgroups/memory.txt
index f0f67b44ea07..fc9fad984bfb 100644
--- a/Documentation/cgroups/memory.txt
+++ b/Documentation/cgroups/memory.txt
@@ -477,6 +477,9 @@ About use_hierarchy, see Section 6.
write will still return success. In this case, it is expected that
memory.kmem.usage_in_bytes == memory.usage_in_bytes.

+ Please note that this knob is considered deprecated and will be removed
+ in future.
+
About use_hierarchy, see Section 6.

5.2 stat file
diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index b030b15b626a..912104d6d2a9 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -4793,6 +4793,10 @@ static int mem_cgroup_force_empty_write(struct cgroup_subsys_state *css,

if (mem_cgroup_is_root(memcg))
return -EINVAL;
+ pr_info("%s (%d): memory.force_empty is deprecated and will be removed.",
+ current->comm, task_pid_nr(current));
+ pr_cont(" Let us know if you know if it needed in your usecase at");
+ pr_cont(" linux-mm@kvack.org\n");
return mem_cgroup_force_empty(memcg);
}

--
2.0.0.rc0

--
Michal Hocko
SUSE Labs