On Mon, 26 Sep 2011 22:53:05 -0300 Glauber Costa <glommer@xxxxxxxxxxxxx> wrote: > On 09/26/2011 07:59 AM, KAMEZAWA Hiroyuki wrote: > > On Sun, 18 Sep 2011 21:56:42 -0300 > > Glauber Costa<glommer@xxxxxxxxxxxxx> wrote: > > > >> With all the infrastructure in place, this patch implements > >> per-cgroup control for tcp memory pressure handling. > >> > >> Signed-off-by: Glauber Costa<glommer@xxxxxxxxxxxxx> > >> CC: David S. Miller<davem@xxxxxxxxxxxxx> > >> CC: Hiroyouki Kamezawa<kamezawa.hiroyu@xxxxxxxxxxxxxx> > >> CC: Eric W. Biederman<ebiederm@xxxxxxxxxxxx> > > > > a comment below. > > > >> +int tcp_init_cgroup(struct proto *prot, struct cgroup *cgrp, > >> + struct cgroup_subsys *ss) > >> +{ > >> + struct mem_cgroup *cg = mem_cgroup_from_cont(cgrp); > >> + unsigned long limit; > >> + > >> + cg->tcp_memory_pressure = 0; > >> + atomic_long_set(&cg->tcp_memory_allocated, 0); > >> + percpu_counter_init(&cg->tcp_sockets_allocated, 0); > >> + > >> + limit = nr_free_buffer_pages() / 8; > >> + limit = max(limit, 128UL); > >> + > >> + cg->tcp_prot_mem[0] = sysctl_tcp_mem[0]; > >> + cg->tcp_prot_mem[1] = sysctl_tcp_mem[1]; > >> + cg->tcp_prot_mem[2] = sysctl_tcp_mem[2]; > >> + > > > > Then, the parameter doesn't inherit parent's one ? > > > > I think sockets_populate should pass 'parent' and > > > > > > I think you should have a function > > > > mem_cgroup_should_inherit_parent_settings(parent) > > > > (This is because you made this feature as a part of memcg. > > please provide expected behavior.) > > > > Thanks, > > -Kame > > Kame: Another look into this: > > sysctl_tcp_mem is a global value, unless you have different namespaces. > So it is either global anyway, or should come from the namespace, not > the parent. > > Now, the goal here is to set the maximum possible value for those > fields. That, indeed, should come from the parent. > > That's my understanding... > Hmm, I may misunderstand something. If this isn't a value you don't want to limit by memcg's kmem_limit, it's ok. Maybe memcg should just take care of kmem_limit. Thanks, -Kame -- 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=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>