Thread (26 messages) 26 messages, 6 authors, 2011-09-12

Re: [PATCH v2 3/9] socket: initial cgroup code.

flat view

From: Glauber Costa <hidden>
Date: 2011-09-07 06:00:01
Also in: linux-mm, lkml

On 09/07/2011 02:26 AM, Paul Menage wrote:
On Tue, Sep 6, 2011 at 9:23 PM, Glauber Costa[off-list ref]  wrote:
quoted
We aim to control the amount of kernel memory pinned at any
time by tcp sockets. To lay the foundations for this work,
this patch adds a pointer to the kmem_cgroup to the socket
structure.

Signed-off-by: Glauber Costa<redacted>
CC: David S. Miller<davem@davemloft.net>
CC: Hiroyouki Kamezawa<redacted>
CC: Eric W. Biederman<redacted>
---
  include/linux/kmem_cgroup.h |   29 +++++++++++++++++++++++++++++
  include/net/sock.h          |    2 ++
  net/core/sock.c             |    5 ++---
  3 files changed, 33 insertions(+), 3 deletions(-)
diff --git a/include/linux/kmem_cgroup.h b/include/linux/kmem_cgroup.h
index 0e4a74b..77076d8 100644
--- a/include/linux/kmem_cgroup.h
+++ b/include/linux/kmem_cgroup.h
@@ -49,5 +49,34 @@ static inline struct kmem_cgroup *kcg_from_task(struct task_struct *tsk)
        return NULL;
  }
  #endif /* CONFIG_CGROUP_KMEM */
+
+#ifdef CONFIG_INET
+#include<net/sock.h>
+static inline void sock_update_kmem_cgrp(struct sock *sk)
+{
+#ifdef CONFIG_CGROUP_KMEM
+       sk->sk_cgrp = kcg_from_task(current);
BUG_ON(sk->sk_cgrp) ? Or else release the old cgroup if necessary.
Since at least in this current incarnation, I am not doing migrations,
I definitely don't expect to have a pointer already present here.
BUG_ON() it is.
quoted
@@ -339,6 +340,7 @@ struct sock {
  #endif
        __u32                   sk_mark;
        u32                     sk_classid;
+       struct kmem_cgroup      *sk_cgrp;
Should this be protected by a #ifdef?
I don't particularly like it. I think that ifdef'ing fields
in structures, while allowing for size optimization, takes away
size and alignment predictability. But... can do.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help