tcp buffer limitation: per-cgroup limit
This patch uses the "tcp.limit_in_bytes" field of the kmem_cgroup to effectively control the amount of kernel memory pinned by a cgroup. This value is ignored in the root cgroup, and in all others, caps the value specified by the admin in the net namespaces' view of tcp_sysctl_mem. If namespaces are being used, the admin is allowed to set a value bigger than cgroup's maximum, the same way it is allowed to set pretty much unlimited values in a real box. Signed-off-by: Glauber Costa <glommer@parallels.com> Reviewed-by: Hiroyouki Kamezawa <kamezawa.hiroyu@jp.fujitsu.com> CC: David S. Miller <davem@davemloft.net> CC: Eric W. Biederman <ebiederm@xmission.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
3dc43e3e4d
commit
3aaabe2342
@ -14,4 +14,6 @@ struct tcp_memcontrol {
|
||||
struct cg_proto *tcp_proto_cgroup(struct mem_cgroup *memcg);
|
||||
int tcp_init_cgroup(struct cgroup *cgrp, struct cgroup_subsys *ss);
|
||||
void tcp_destroy_cgroup(struct cgroup *cgrp, struct cgroup_subsys *ss);
|
||||
unsigned long long tcp_max_memory(const struct mem_cgroup *memcg);
|
||||
void tcp_prot_mem(struct mem_cgroup *memcg, long val, int idx);
|
||||
#endif /* _TCP_MEMCG_H */
|
||||
|
Reference in New Issue
Block a user