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?
+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?