From: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
To: Greg Thelen <gthelen@google.com>
Cc: linux-mm@kvack.org,
"nishimura@mxp.nes.nec.co.jp" <nishimura@mxp.nes.nec.co.jp>,
"balbir@linux.vnet.ibm.com" <balbir@linux.vnet.ibm.com>,
m-ikeda@ds.jp.nec.com,
"akpm@linux-foundation.org" <akpm@linux-foundation.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
kamezawa.hiroyuki@gmail.com
Subject: Re: [PATCH 2/5] memcg: use array and ID for quick look up
Date: Tue, 24 Aug 2010 16:42:06 +0900 [thread overview]
Message-ID: <20100824164206.37595039.kamezawa.hiroyu@jp.fujitsu.com> (raw)
In-Reply-To: <xr9339u4pi84.fsf@ninji.mtv.corp.google.com>
On Tue, 24 Aug 2010 00:44:59 -0700
Greg Thelen <gthelen@google.com> wrote:
> KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> writes:
>
> > From: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
> >
> > Now, memory cgroup has an ID per cgroup and make use of it at
> > - hierarchy walk,
> > - swap recording.
> >
> > This patch is for making more use of it. The final purpose is
> > to replace page_cgroup->mem_cgroup's pointer to an unsigned short.
> >
> > This patch caches a pointer of memcg in an array. By this, we
> > don't have to call css_lookup() which requires radix-hash walk.
> > This saves some amount of memory footprint at lookup memcg via id.
> >
> > Changelog: 20100811
> > - adjusted onto mmotm-2010-08-11
> > - fixed RCU related parts.
> > - use attach_id() callback.
> >
> > Changelog: 20100804
> > - fixed description in init/Kconfig
> >
> > Changelog: 20100730
> > - fixed rcu_read_unlock() placement.
> >
> > Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
> > ---
> > init/Kconfig | 10 ++++++
> > mm/memcontrol.c | 83 ++++++++++++++++++++++++++++++++++++++++++--------------
> > 2 files changed, 73 insertions(+), 20 deletions(-)
> >
> > Index: mmotm-0811/mm/memcontrol.c
> > ===================================================================
> > --- mmotm-0811.orig/mm/memcontrol.c
> > +++ mmotm-0811/mm/memcontrol.c
> > @@ -195,6 +195,7 @@ static void mem_cgroup_oom_notify(struct
> > */
> > struct mem_cgroup {
> > struct cgroup_subsys_state css;
> > + int valid; /* for checking validness under RCU access.*/
> > /*
> > * the counter to account for memory usage
> > */
> > @@ -294,6 +295,29 @@ static bool move_file(void)
> > &mc.to->move_charge_at_immigrate);
> > }
> >
> > +/* 0 is unused */
> > +static atomic_t mem_cgroup_num;
> > +#define NR_MEMCG_GROUPS (CONFIG_MEM_CGROUP_MAX_GROUPS + 1)
> > +static struct mem_cgroup *mem_cgroups[NR_MEMCG_GROUPS] __read_mostly;
> > +
> > +/* Must be called under rcu_read_lock */
> > +static struct mem_cgroup *id_to_memcg(unsigned short id)
> > +{
> > + struct mem_cgroup *ret;
> > + /* see mem_cgroup_free() */
> > + ret = rcu_dereference_check(mem_cgroups[id], rch_read_lock_held());
>
> I think this be rcu_read_lock_held() instead of rch_read_lock_held()?
>
yes, mayb overwritten by following patch.. thank you for finding.
Thanks,
-Kame
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2010-08-24 7:47 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-08-20 9:55 [PATCH] memcg: towards I/O aware memcg v5 KAMEZAWA Hiroyuki
2010-08-20 9:58 ` [PATCH 1/5] cgroup: ID notification call back KAMEZAWA Hiroyuki
2010-08-24 7:19 ` Greg Thelen
2010-08-24 7:18 ` KAMEZAWA Hiroyuki
2010-08-24 9:04 ` Li Zefan
2010-08-24 23:58 ` KAMEZAWA Hiroyuki
2010-08-25 0:11 ` Paul Menage
2010-08-25 0:17 ` KAMEZAWA Hiroyuki
2010-08-25 0:25 ` Paul Menage
2010-08-25 0:09 ` Paul Menage
2010-08-25 0:20 ` KAMEZAWA Hiroyuki
2010-08-25 0:34 ` Paul Menage
2010-08-25 0:37 ` KAMEZAWA Hiroyuki
2010-08-25 0:46 ` Paul Menage
2010-08-25 1:03 ` KAMEZAWA Hiroyuki
2010-08-25 1:35 ` Paul Menage
2010-08-25 1:42 ` KAMEZAWA Hiroyuki
2010-08-25 1:52 ` Paul Menage
2010-08-25 2:29 ` KAMEZAWA Hiroyuki
2010-08-20 9:59 ` [PATCH 2/5] memcg: use array and ID for quick look up KAMEZAWA Hiroyuki
2010-08-23 3:35 ` Daisuke Nishimura
2010-08-23 23:51 ` KAMEZAWA Hiroyuki
2010-08-24 0:19 ` Daisuke Nishimura
2010-08-24 7:44 ` Greg Thelen
2010-08-24 7:42 ` KAMEZAWA Hiroyuki [this message]
2010-08-20 10:01 ` [PATCH] memcg: use ID in page_cgroup KAMEZAWA Hiroyuki
2010-08-23 5:32 ` Daisuke Nishimura
2010-08-23 23:52 ` KAMEZAWA Hiroyuki
2010-08-24 1:14 ` Daisuke Nishimura
2010-08-24 1:54 ` KAMEZAWA Hiroyuki
2010-08-24 4:04 ` Daisuke Nishimura
2010-08-24 6:05 ` KAMEZAWA Hiroyuki
2010-08-24 7:47 ` Greg Thelen
2010-08-24 7:51 ` KAMEZAWA Hiroyuki
2010-08-24 8:35 ` Greg Thelen
2010-08-24 8:38 ` KAMEZAWA Hiroyuki
2010-08-20 10:02 ` [PATCH 4/5] memcg: lockless update of file_mapped KAMEZAWA Hiroyuki
2010-08-23 8:50 ` Daisuke Nishimura
2010-08-23 23:49 ` KAMEZAWA Hiroyuki
2010-08-24 0:19 ` Daisuke Nishimura
2010-08-20 10:03 ` [PATCH 5/5] memcg: generic file accounting update function KAMEZAWA Hiroyuki
2010-08-24 7:46 ` [PATCH] memcg: towards I/O aware memcg v5 Balbir Singh
2010-08-24 7:59 ` 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=20100824164206.37595039.kamezawa.hiroyu@jp.fujitsu.com \
--to=kamezawa.hiroyu@jp.fujitsu.com \
--cc=akpm@linux-foundation.org \
--cc=balbir@linux.vnet.ibm.com \
--cc=gthelen@google.com \
--cc=kamezawa.hiroyuki@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=m-ikeda@ds.jp.nec.com \
--cc=nishimura@mxp.nes.nec.co.jp \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox