From 8fd2503e0ce0200fc04a44c8a3533d2fa617a379 Mon Sep 17 00:00:00 2001 From: Glauber Costa Date: Sun, 11 Dec 2011 21:47:09 +0000 Subject: [PATCH] --- yaml --- r: 278747 b: refs/heads/master c: 0850f0f5c54261a6236f013e8bac154bcce424d6 h: refs/heads/master i: 278745: 062430affdcc6bdf6e35e8bce5391209d8a93d51 278743: 0c3a0e58629a1073f542e8be9044282fc8bc74d7 v: v3 --- [refs] | 2 +- trunk/net/ipv4/tcp_memcontrol.c | 12 +++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 37afb7dcd6fb..69d8abc72499 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ffea59e50494198a0db4d6ad8f6721b8fd994f65 +refs/heads/master: 0850f0f5c54261a6236f013e8bac154bcce424d6 diff --git a/trunk/net/ipv4/tcp_memcontrol.c b/trunk/net/ipv4/tcp_memcontrol.c index d438fba31ba8..171d7b64f803 100644 --- a/trunk/net/ipv4/tcp_memcontrol.c +++ b/trunk/net/ipv4/tcp_memcontrol.c @@ -29,6 +29,12 @@ static struct cftype tcp_files[] = { .trigger = tcp_cgroup_reset, .read_u64 = tcp_cgroup_read, }, + { + .name = "kmem.tcp.max_usage_in_bytes", + .private = RES_MAX_USAGE, + .trigger = tcp_cgroup_reset, + .read_u64 = tcp_cgroup_read, + }, }; static inline struct tcp_memcontrol *tcp_from_cgproto(struct cg_proto *cg_proto) @@ -205,7 +211,8 @@ static u64 tcp_cgroup_read(struct cgroup *cont, struct cftype *cft) val = tcp_read_usage(memcg); break; case RES_FAILCNT: - val = tcp_read_stat(memcg, RES_FAILCNT, 0); + case RES_MAX_USAGE: + val = tcp_read_stat(memcg, cft->private, 0); break; default: BUG(); @@ -226,6 +233,9 @@ static int tcp_cgroup_reset(struct cgroup *cont, unsigned int event) tcp = tcp_from_cgproto(cg_proto); switch (event) { + case RES_MAX_USAGE: + res_counter_reset_max(&tcp->tcp_memory_allocated); + break; case RES_FAILCNT: res_counter_reset_failcnt(&tcp->tcp_memory_allocated); break;