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? -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href