From: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> To: balbir@linux.vnet.ibm.com Cc: "linux-mm@kvack.org" <linux-mm@kvack.org>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, "nishimura@mxp.nes.nec.co.jp" <nishimura@mxp.nes.nec.co.jp>, "akpm@linux-foundation.org" <akpm@linux-foundation.org> Subject: Re: [PATCH][-mm] memcg : memory cgroup cpu hotplug support update. Date: Thu, 16 Sep 2010 15:22:04 +0900 [thread overview] Message-ID: <20100916152204.6c457936.kamezawa.hiroyu@jp.fujitsu.com> (raw) In-Reply-To: <20100916062159.GF22371@balbir.in.ibm.com> On Thu, 16 Sep 2010 11:51:59 +0530 Balbir Singh <balbir@linux.vnet.ibm.com> wrote: > * KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> [2010-09-16 14:46:18]: > > > This is onto The mm-of-the-moment snapshot 2010-09-15-16-21. > > > > == > > From: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> > > > > Now, memory cgroup uses for_each_possible_cpu() for percpu stat handling. > > It's just because cpu hotplug handler doesn't handle them. > > On the other hand, per-cpu usage counter cache is maintained per cpu and > > it's cpu hotplug aware. > > > > This patch adds a cpu hotplug hanlder and replaces for_each_possible_cpu() > > with for_each_online_cpu(). And this merges new callbacks with old > > callbacks.(IOW, memcg has only one cpu-hotplug handler.) > > > > Thanks for accepting my suggestion on get_online_cpus() and for > working on these patches, this is the right way forward > I just like step-by-step patches. > > For this purpose, mem_cgroup_walk_all() is added. > > > > Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> > > --- > > mm/memcontrol.c | 118 ++++++++++++++++++++++++++++++++++++++++++++++---------- > > 1 file changed, 98 insertions(+), 20 deletions(-) > > > > Index: mmotm-0915/mm/memcontrol.c > > =================================================================== > > --- mmotm-0915.orig/mm/memcontrol.c > > +++ mmotm-0915/mm/memcontrol.c > > @@ -89,7 +89,10 @@ enum mem_cgroup_stat_index { > > MEM_CGROUP_STAT_PGPGIN_COUNT, /* # of pages paged in */ > > MEM_CGROUP_STAT_PGPGOUT_COUNT, /* # of pages paged out */ > > MEM_CGROUP_STAT_SWAPOUT, /* # of pages, swapped out */ > > - MEM_CGROUP_EVENTS, /* incremented at every pagein/pageout */ > > + MEM_CGROUP_STAT_DATA, /* stat above this is for statistics */ > > + > > + MEM_CGROUP_EVENTS = MEM_CGROUP_STAT_DATA, > > + /* incremented at every pagein/pageout */ > > MEM_CGROUP_ON_MOVE, /* someone is moving account between groups */ > > > > MEM_CGROUP_STAT_NSTATS, > > @@ -537,7 +540,7 @@ static s64 mem_cgroup_read_stat(struct m > > int cpu; > > s64 val = 0; > > > > - for_each_possible_cpu(cpu) > > + for_each_online_cpu(cpu) > > val += per_cpu(mem->stat->count[idx], cpu); > > return val; > > } > > @@ -700,6 +703,35 @@ static inline bool mem_cgroup_is_root(st > > return (mem == root_mem_cgroup); > > } > > > > +static int mem_cgroup_walk_all(void *data, > > + int (*func)(struct mem_cgroup *, void *)) > > Can we call this for_each_mem_cgroup()? > This naming is from mem_cgroup_walk_tree(). Now we have mem_cgroup_walk_tree(); mem_cgroup_walk_all(); Rename both ? But it should be in separated patch. Thanks, -Kame
WARNING: multiple messages have this Message-ID (diff)
From: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> To: balbir@linux.vnet.ibm.com Cc: "linux-mm@kvack.org" <linux-mm@kvack.org>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, "nishimura@mxp.nes.nec.co.jp" <nishimura@mxp.nes.nec.co.jp>, "akpm@linux-foundation.org" <akpm@linux-foundation.org> Subject: Re: [PATCH][-mm] memcg : memory cgroup cpu hotplug support update. Date: Thu, 16 Sep 2010 15:22:04 +0900 [thread overview] Message-ID: <20100916152204.6c457936.kamezawa.hiroyu@jp.fujitsu.com> (raw) In-Reply-To: <20100916062159.GF22371@balbir.in.ibm.com> On Thu, 16 Sep 2010 11:51:59 +0530 Balbir Singh <balbir@linux.vnet.ibm.com> wrote: > * KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> [2010-09-16 14:46:18]: > > > This is onto The mm-of-the-moment snapshot 2010-09-15-16-21. > > > > == > > From: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> > > > > Now, memory cgroup uses for_each_possible_cpu() for percpu stat handling. > > It's just because cpu hotplug handler doesn't handle them. > > On the other hand, per-cpu usage counter cache is maintained per cpu and > > it's cpu hotplug aware. > > > > This patch adds a cpu hotplug hanlder and replaces for_each_possible_cpu() > > with for_each_online_cpu(). And this merges new callbacks with old > > callbacks.(IOW, memcg has only one cpu-hotplug handler.) > > > > Thanks for accepting my suggestion on get_online_cpus() and for > working on these patches, this is the right way forward > I just like step-by-step patches. > > For this purpose, mem_cgroup_walk_all() is added. > > > > Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> > > --- > > mm/memcontrol.c | 118 ++++++++++++++++++++++++++++++++++++++++++++++---------- > > 1 file changed, 98 insertions(+), 20 deletions(-) > > > > Index: mmotm-0915/mm/memcontrol.c > > =================================================================== > > --- mmotm-0915.orig/mm/memcontrol.c > > +++ mmotm-0915/mm/memcontrol.c > > @@ -89,7 +89,10 @@ enum mem_cgroup_stat_index { > > MEM_CGROUP_STAT_PGPGIN_COUNT, /* # of pages paged in */ > > MEM_CGROUP_STAT_PGPGOUT_COUNT, /* # of pages paged out */ > > MEM_CGROUP_STAT_SWAPOUT, /* # of pages, swapped out */ > > - MEM_CGROUP_EVENTS, /* incremented at every pagein/pageout */ > > + MEM_CGROUP_STAT_DATA, /* stat above this is for statistics */ > > + > > + MEM_CGROUP_EVENTS = MEM_CGROUP_STAT_DATA, > > + /* incremented at every pagein/pageout */ > > MEM_CGROUP_ON_MOVE, /* someone is moving account between groups */ > > > > MEM_CGROUP_STAT_NSTATS, > > @@ -537,7 +540,7 @@ static s64 mem_cgroup_read_stat(struct m > > int cpu; > > s64 val = 0; > > > > - for_each_possible_cpu(cpu) > > + for_each_online_cpu(cpu) > > val += per_cpu(mem->stat->count[idx], cpu); > > return val; > > } > > @@ -700,6 +703,35 @@ static inline bool mem_cgroup_is_root(st > > return (mem == root_mem_cgroup); > > } > > > > +static int mem_cgroup_walk_all(void *data, > > + int (*func)(struct mem_cgroup *, void *)) > > Can we call this for_each_mem_cgroup()? > This naming is from mem_cgroup_walk_tree(). Now we have mem_cgroup_walk_tree(); mem_cgroup_walk_all(); Rename both ? But it should be in separated patch. 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-09-16 6:27 UTC|newest] Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top 2010-09-16 5:46 [PATCH][-mm] memcg : memory cgroup cpu hotplug support update KAMEZAWA Hiroyuki 2010-09-16 5:46 ` KAMEZAWA Hiroyuki 2010-09-16 6:21 ` Balbir Singh 2010-09-16 6:21 ` Balbir Singh 2010-09-16 6:22 ` KAMEZAWA Hiroyuki [this message] 2010-09-16 6:22 ` KAMEZAWA Hiroyuki 2010-09-16 7:17 ` KAMEZAWA Hiroyuki 2010-09-16 7:17 ` KAMEZAWA Hiroyuki 2010-09-16 7:28 ` KAMEZAWA Hiroyuki 2010-09-16 7:28 ` KAMEZAWA Hiroyuki 2010-09-17 6:35 ` Balbir Singh 2010-09-17 6:35 ` Balbir Singh 2010-09-17 11:49 ` Hiroyuki Kamezawa 2010-09-17 11:49 ` Hiroyuki Kamezawa 2010-09-20 7:54 ` Balbir Singh 2010-09-20 7:54 ` Balbir Singh 2010-09-16 20:14 ` Andrew Morton 2010-09-16 20:14 ` Andrew Morton 2010-09-17 6:32 ` Balbir Singh 2010-09-17 6:32 ` Balbir Singh 2010-09-17 11:47 ` Hiroyuki Kamezawa 2010-09-17 11:47 ` Hiroyuki Kamezawa
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=20100916152204.6c457936.kamezawa.hiroyu@jp.fujitsu.com \ --to=kamezawa.hiroyu@jp.fujitsu.com \ --cc=akpm@linux-foundation.org \ --cc=balbir@linux.vnet.ibm.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mm@kvack.org \ --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: linkBe 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.