From: Pavel Emelyanov <xemul-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
To: Paul Menage <menage-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>,
Balbir Singh
<balbir-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>,
KAMEZAWA Hiroyuki
<kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
Cc: Linux Containers <containers-qjLDD68F18O7TbgM5vRIOg@public.gmane.org>
Subject: [PATCH 3/3] Implement failcounter reset
Date: Thu, 13 Mar 2008 14:39:55 +0300 [thread overview]
Message-ID: <47D9128B.6010906@openvz.org> (raw)
In-Reply-To: <47D9114F.6020301-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
Merge two resets into one mem_cgroup_reset() function to
demonstrate how multiplexing work.
Besides, I have plans to move the files, that correspond to
res_counter to the res_counter.c file and somehow "import"
them into controller. I don't know how to make it gracefully
yet, but merging resets of max_usage and failcnt in one function
will be there for sure.
Signed-off-by: Pavel Emelyanov <xemul-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
---
include/linux/res_counter.h | 8 ++++++++
mm/memcontrol.c | 14 +++++++++++---
2 files changed, 19 insertions(+), 3 deletions(-)
diff --git a/include/linux/res_counter.h b/include/linux/res_counter.h
index df8085a..3c05d6d 100644
--- a/include/linux/res_counter.h
+++ b/include/linux/res_counter.h
@@ -141,4 +141,12 @@ static inline void res_counter_reset_max(struct res_counter *cnt)
spin_unlock_irqrestore(&cnt->lock, flags);
}
+static inline void res_counter_reset_failcnt(struct res_counter *cnt)
+{
+ unsigned long flags;
+
+ spin_lock_irqsave(&cnt->lock, flags);
+ cnt->failcnt = 0;
+ spin_unlock_irqrestore(&cnt->lock, flags);
+}
#endif
diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index d3ec3e3..5852b23 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -868,12 +868,19 @@ static ssize_t mem_cgroup_write(struct cgroup *cont, struct cftype *cft,
mem_cgroup_write_strategy);
}
-static int mem_cgroup_max_reset(struct cgroup *cont, unsigned int event)
+static int mem_cgroup_reset(struct cgroup *cont, unsigned int event)
{
struct mem_cgroup *mem;
mem = mem_cgroup_from_cont(cont);
- res_counter_reset_max(&mem->res);
+ switch (event) {
+ case RES_MAX_USAGE:
+ res_counter_reset_max(&mem->res);
+ break;
+ case RES_FAILCNT:
+ res_counter_reset_failcnt(&mem->res);
+ break;
+ }
return 0;
}
@@ -927,7 +934,7 @@ static struct cftype mem_cgroup_files[] = {
{
.name = "max_usage_in_bytes",
.private = RES_MAX_USAGE,
- .trigger = mem_cgroup_max_reset,
+ .trigger = mem_cgroup_reset,
.read_u64 = mem_cgroup_read,
},
{
@@ -939,6 +946,7 @@ static struct cftype mem_cgroup_files[] = {
{
.name = "failcnt",
.private = RES_FAILCNT,
+ .trigger = mem_cgroup_reset,
.read_u64 = mem_cgroup_read,
},
{
--
1.5.3.4
next prev parent reply other threads:[~2008-03-13 11:39 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-03-13 11:34 [PATCH 0/3] Implement triggers for control groups Pavel Emelyanov
[not found] ` <47D9114F.6020301-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2008-03-13 11:36 ` [PATCH 1/3] Add the trigger callback to struct cftype Pavel Emelyanov
[not found] ` <47D911B1.1010309-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2008-03-13 12:19 ` Paul Menage
2008-03-13 11:37 ` [PATCH 2/3] Use triggers in force_empty and max_usage files Pavel Emelyanov
2008-03-13 11:39 ` Pavel Emelyanov [this message]
2008-03-14 2:08 ` [PATCH 0/3] Implement triggers for control groups KAMEZAWA Hiroyuki
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=47D9128B.6010906@openvz.org \
--to=xemul-gefaqzzx7r8dnm+yrofe0a@public.gmane.org \
--cc=balbir-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org \
--cc=containers-qjLDD68F18O7TbgM5vRIOg@public.gmane.org \
--cc=kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org \
--cc=menage-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.