|
@@ -51,6 +51,7 @@
|
|
#include <linux/oom.h>
|
|
#include <linux/oom.h>
|
|
#include "internal.h"
|
|
#include "internal.h"
|
|
#include <net/sock.h>
|
|
#include <net/sock.h>
|
|
|
|
+#include <net/ip.h>
|
|
#include <net/tcp_memcontrol.h>
|
|
#include <net/tcp_memcontrol.h>
|
|
|
|
|
|
#include <asm/uaccess.h>
|
|
#include <asm/uaccess.h>
|
|
@@ -326,7 +327,7 @@ struct mem_cgroup {
|
|
struct mem_cgroup_stat_cpu nocpu_base;
|
|
struct mem_cgroup_stat_cpu nocpu_base;
|
|
spinlock_t pcp_counter_lock;
|
|
spinlock_t pcp_counter_lock;
|
|
|
|
|
|
-#ifdef CONFIG_INET
|
|
|
|
|
|
+#if defined(CONFIG_MEMCG_KMEM) && defined(CONFIG_INET)
|
|
struct tcp_memcontrol tcp_mem;
|
|
struct tcp_memcontrol tcp_mem;
|
|
#endif
|
|
#endif
|
|
};
|
|
};
|
|
@@ -412,9 +413,7 @@ struct mem_cgroup *mem_cgroup_from_css(struct cgroup_subsys_state *s)
|
|
}
|
|
}
|
|
|
|
|
|
/* Writing them here to avoid exposing memcg's inner layout */
|
|
/* Writing them here to avoid exposing memcg's inner layout */
|
|
-#ifdef CONFIG_MEMCG_KMEM
|
|
|
|
-#include <net/sock.h>
|
|
|
|
-#include <net/ip.h>
|
|
|
|
|
|
+#if defined(CONFIG_INET) && defined(CONFIG_MEMCG_KMEM)
|
|
|
|
|
|
static bool mem_cgroup_is_root(struct mem_cgroup *memcg);
|
|
static bool mem_cgroup_is_root(struct mem_cgroup *memcg);
|
|
void sock_update_memcg(struct sock *sk)
|
|
void sock_update_memcg(struct sock *sk)
|
|
@@ -461,7 +460,6 @@ void sock_release_memcg(struct sock *sk)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
-#ifdef CONFIG_INET
|
|
|
|
struct cg_proto *tcp_proto_cgroup(struct mem_cgroup *memcg)
|
|
struct cg_proto *tcp_proto_cgroup(struct mem_cgroup *memcg)
|
|
{
|
|
{
|
|
if (!memcg || mem_cgroup_is_root(memcg))
|
|
if (!memcg || mem_cgroup_is_root(memcg))
|
|
@@ -470,10 +468,7 @@ struct cg_proto *tcp_proto_cgroup(struct mem_cgroup *memcg)
|
|
return &memcg->tcp_mem.cg_proto;
|
|
return &memcg->tcp_mem.cg_proto;
|
|
}
|
|
}
|
|
EXPORT_SYMBOL(tcp_proto_cgroup);
|
|
EXPORT_SYMBOL(tcp_proto_cgroup);
|
|
-#endif /* CONFIG_INET */
|
|
|
|
-#endif /* CONFIG_MEMCG_KMEM */
|
|
|
|
|
|
|
|
-#if defined(CONFIG_INET) && defined(CONFIG_MEMCG_KMEM)
|
|
|
|
static void disarm_sock_keys(struct mem_cgroup *memcg)
|
|
static void disarm_sock_keys(struct mem_cgroup *memcg)
|
|
{
|
|
{
|
|
if (!memcg_proto_activated(&memcg->tcp_mem.cg_proto))
|
|
if (!memcg_proto_activated(&memcg->tcp_mem.cg_proto))
|