Re: [PATCH v3 6/7] tcp buffer limitation: per-cgroup limit

From: Glauber Costa
Date: Mon Sep 26 2011 - 18:50:24 EST


On 09/26/2011 08:02 AM, KAMEZAWA Hiroyuki wrote:
On Sat, 24 Sep 2011 10:30:42 -0300
Glauber Costa<glommer@xxxxxxxxxxxxx> wrote:

On 09/22/2011 03:01 AM, Greg Thelen wrote:
On Sun, Sep 18, 2011 at 5:56 PM, Glauber Costa<glommer@xxxxxxxxxxxxx> wrote:
+static inline bool mem_cgroup_is_root(struct mem_cgroup *mem)
+{
+ return (mem == root_mem_cgroup);
+}
+

Why are you adding a copy of mem_cgroup_is_root(). I see one already
in v3.0. Was it deleted in a previous patch?

Already answered by another good samaritan.

+static int tcp_write_maxmem(struct cgroup *cgrp, struct cftype *cft, u64 val)
+{
+ struct mem_cgroup *sg = mem_cgroup_from_cont(cgrp);
+ struct mem_cgroup *parent = parent_mem_cgroup(sg);
+ struct net *net = current->nsproxy->net_ns;
+ int i;
+
+ if (!cgroup_lock_live_group(cgrp))
+ return -ENODEV;

Why is cgroup_lock_live_cgroup() needed here? Does it protect updates
to sg->tcp_prot_mem[*]?

+static u64 tcp_read_maxmem(struct cgroup *cgrp, struct cftype *cft)
+{
+ struct mem_cgroup *sg = mem_cgroup_from_cont(cgrp);
+ u64 ret;
+
+ if (!cgroup_lock_live_group(cgrp))
+ return -ENODEV;

Why is cgroup_lock_live_cgroup() needed here? Does it protect updates
to sg->tcp_max_memory?

No, that is not my understanding. My understanding is this lock is
needed to protect against the cgroup just disappearing under our nose.


Hm. reference count of dentry for cgroup isn't enough ?

Thanks,
-Kame

think think think think think think...
Yeah, I guess it is.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/