From c84872e168d10926acd2dee975d19172eef79252 Mon Sep 17 00:00:00 2001 From: Pavel Emelyanov Date: Tue, 29 Apr 2008 01:00:17 -0700 Subject: memcgroup: add the max_usage member on the res_counter This field is the maximal value of the usage one since the counter creation (or since the latest reset). To reset this to the usage value simply write anything to the appropriate cgroup file. Signed-off-by: Pavel Emelyanov Acked-by: Balbir Singh Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- mm/memcontrol.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'mm') diff --git a/mm/memcontrol.c b/mm/memcontrol.c index 49d80814798..350a14da652 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -855,6 +855,17 @@ static ssize_t mem_cgroup_write(struct cgroup *cont, struct cftype *cft, mem_cgroup_write_strategy); } +static ssize_t mem_cgroup_max_reset(struct cgroup *cont, struct cftype *cft, + struct file *file, const char __user *userbuf, + size_t nbytes, loff_t *ppos) +{ + struct mem_cgroup *mem; + + mem = mem_cgroup_from_cont(cont); + res_counter_reset_max(&mem->res); + return nbytes; +} + static ssize_t mem_force_empty_write(struct cgroup *cont, struct cftype *cft, struct file *file, const char __user *userbuf, @@ -909,6 +920,12 @@ static struct cftype mem_cgroup_files[] = { .private = RES_USAGE, .read_u64 = mem_cgroup_read, }, + { + .name = "max_usage_in_bytes", + .private = RES_MAX_USAGE, + .write = mem_cgroup_max_reset, + .read_u64 = mem_cgroup_read, + }, { .name = "limit_in_bytes", .private = RES_LIMIT, -- cgit v1.2.3