Thread (11 messages) 11 messages, 3 authors, 2012-09-14

Re: [PATCH] mm/memcontrol.c: Remove duplicate inclusion of sock.h file

From: Glauber Costa <hidden>
Date: 2012-09-14 08:36:08
Also in: linux-mm

On 09/14/2012 12:27 PM, Michal Hocko wrote:
On Fri 14-09-12 13:28:07, Sachin Kamat wrote:
quoted
Hi Michal,

Has this patch been accepted?
Not yet. I am waiting for Glauber to ack it.
I am fine with the change, assuming you tested it, after you made the
change I requested.
quoted
On 12 September 2012 18:39, Michal Hocko [off-list ref] wrote:
quoted
On Wed 12-09-12 14:56:47, Michal Hocko wrote:
quoted
On Wed 12-09-12 12:50:41, Glauber Costa wrote:
[...]
quoted
quoted
quoted
diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index 795e525..85ec9ff 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -50,8 +50,12 @@
 #include <linux/cpu.h>
 #include <linux/oom.h>
 #include "internal.h"
+
+#ifdef CONFIG_MEMCG_KMEM
 #include <net/sock.h>
+#include <net/ip.h>
 #include <net/tcp_memcontrol.h>
+#endif

 #include <asm/uaccess.h>
@@ -326,7 +330,7 @@ struct mem_cgroup {
         struct mem_cgroup_stat_cpu nocpu_base;
         spinlock_t pcp_counter_lock;

-#ifdef CONFIG_INET
+#ifdef CONFIG_MEMCG_KMEM
         struct tcp_memcontrol tcp_mem;
 #endif
 };
If you are changing this, why not test for both? This field will be
useless with inet disabled. I usually don't like conditional in
structures (note that the "kmem" res counter in my patchsets is not
conditional to KMEM!!), but since the decision was made to make this one
conditional, I think INET is a much better test. I am fine with both though.
 You are right of course. Updated patch bellow:
Bahh. And I managed to send a different patch than I tested...
---
From 0617ff7114bdf424160a8f1533784c837d426ec2 Mon Sep 17 00:00:00 2001
From: Michal Hocko <redacted>
Date: Tue, 11 Sep 2012 10:38:42 +0200
Subject: [PATCH] memcg: clean up networking headers file inclusion

Memory controller doesn't need anything from the networking stack unless
CONFIG_MEMCG_KMEM is selected.
Now we are including net/sock.h and net/tcp_memcontrol.h unconditionally
which is not necessary. Moreover struct mem_cgroup contains tcp_mem even
if CONFIG_MEMCG_KMEM is not selected which is not necessary.

Signed-off-by: Sachin Kamat <redacted>
Signed-off-by: Michal Hocko <redacted>
---
 mm/memcontrol.c |    8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index 795e525..1a217b4 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -50,8 +50,12 @@
 #include <linux/cpu.h>
 #include <linux/oom.h>
 #include "internal.h"
+
+#if defined(CONFIG_MEMCG_KMEM) && defined(CONFIG_INET)
 #include <net/sock.h>
+#include <net/ip.h>
 #include <net/tcp_memcontrol.h>
+#endif

 #include <asm/uaccess.h>
@@ -326,7 +330,7 @@ struct mem_cgroup {
        struct mem_cgroup_stat_cpu nocpu_base;
        spinlock_t pcp_counter_lock;

-#ifdef CONFIG_INET
+#if defined(CONFIG_MEMCG_KMEM) && defined(CONFIG_INET)
        struct tcp_memcontrol tcp_mem;
 #endif
 };
@@ -413,8 +417,6 @@ struct mem_cgroup *mem_cgroup_from_css(struct cgroup_subsys_state *s)

 /* Writing them here to avoid exposing memcg's inner layout */
 #ifdef CONFIG_MEMCG_KMEM
-#include <net/sock.h>
-#include <net/ip.h>

 static bool mem_cgroup_is_root(struct mem_cgroup *memcg);
 void sock_update_memcg(struct sock *sk)
--
1.7.10.4

--
Michal Hocko
SUSE Labs


-- 
With warm regards,
Sachin
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help