Thread (3 messages) 3 messages, 2 authors, 2015-10-22

Re: [PATCH] mm: memcontrol: eliminate root memory.current

From: Michal Hocko <hidden>
Date: 2015-10-22 09:08:04
Also in: linux-mm, lkml

On Wed 21-10-15 14:49:54, Johannes Weiner wrote:
memory.current on the root level doesn't add anything that wouldn't be
more accurate and detailed using system statistics. It already doesn't
include slabs, and it'll be a pain to keep in sync when further memory
types are accounted in the memory controller. Remove it.

Note that this applies to the new unified hierarchy interface only.
OK, I can understand your reasoning, other knobs are !root as well.
Signed-off-by: Johannes Weiner <redacted>
After the bug mentioned below is fixed
Acked-by: Michal Hocko <mhocko-IBi9RG/b67k@public.gmane.org>
quoted hunk ↗ jump to hunk
---
 mm/memcontrol.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Tejun, we should probably do this with the other controllers too.
I don't think it makes sense anywhere to shoddily duplicate the
system statistics on the controller root levels.
diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index 4f04510..c71fe40 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -5022,7 +5022,7 @@ static void mem_cgroup_bind(struct cgroup_subsys_state *root_css)
 static u64 memory_current_read(struct cgroup_subsys_state *css,
 			       struct cftype *cft)
 {
-	return mem_cgroup_usage(mem_cgroup_from_css(css), false);
+	return page_counter_read(&mem_cgroup_from_css(css)->memory);
We want that in bytes though.
quoted hunk ↗ jump to hunk
 }
 
 static int memory_low_show(struct seq_file *m, void *v)
@@ -5134,6 +5134,7 @@ static int memory_events_show(struct seq_file *m, void *v)
 static struct cftype memory_files[] = {
 	{
 		.name = "current",
+		.flags = CFTYPE_NOT_ON_ROOT,
 		.read_u64 = memory_current_read,
 	},
 	{
-- 
2.6.1
-- 
Michal Hocko
SUSE Labs
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help