linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Balbir Singh <balbir@linux.vnet.ibm.com>
To: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: "linux-mm@kvack.org" <linux-mm@kvack.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>
Subject: Re: [PATCH] Add file based RSS accounting for memory resource controller (v2)
Date: Fri, 17 Apr 2009 07:10:42 +0530	[thread overview]
Message-ID: <20090417014042.GB18558@balbir.in.ibm.com> (raw)
In-Reply-To: <20090417091459.dac2cc39.kamezawa.hiroyu@jp.fujitsu.com>

* KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> [2009-04-17 09:14:59]:

> On Thu, 16 Apr 2009 17:33:16 +0530
> Balbir Singh <balbir@linux.vnet.ibm.com> wrote:
> 
> > * KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> [2009-04-16 17:15:35]:
> > 
> > > 
> > > > Sorry, some troubles found. Ignore above Ack. 3points now.
> > > > 
> > > > 1. get_cpu should be after (*)
> > > > ==mem_cgroup_update_mapped_file_stat()
> > > > +	int cpu = get_cpu();
> > > > +
> > > > +	if (!page_is_file_cache(page))
> > > > +		return;
> > > > +
> > > > +	if (unlikely(!mm))
> > > > +		mm = &init_mm;
> > > > +
> > > > +	mem = try_get_mem_cgroup_from_mm(mm);
> > > > +	if (!mem)
> > > > +		return;
> > > > + ----------------------------------------(*)
> > > > +	stat = &mem->stat;
> > > > +	cpustat = &stat->cpustat[cpu];
> > > > +
> > > > +	__mem_cgroup_stat_add_safe(cpustat, MEM_CGROUP_STAT_MAPPED_FILE, val);
> > > > +	put_cpu();
> > > > +}
> > > > ==
> > 
> > Yes or I should have a goto
> > 
> > > > 
> > > > 2. In above, "mem" shouldn't be got from "mm"....please get "mem" from page_cgroup.
> > > > (Because it's file cache, pc->mem_cgroup is not NULL always.)
> > 
> > Hmmm.. not sure I understand this part. Are you suggesting that mm can
> > be NULL?
> No.
> 
> > I added the check for !mm as a safety check. Since this
> > routine is only called from rmap context, mm is not NULL, hence mem
> > should not be NULL. Did you find a race between mm->owner assignment
> > and lookup via mm->owner?
> > 
> No.
> 
> page_cgroup->mem_cgroup != try_get_mem_cgroup_from_mm(mm);  in many many cases.
> 
> For example, libc and /bin/*** is tend to be loaded into default cgroup at boot but
> used by many cgroups. But mapcount of page caches for /bin/*** is 0 if not running.
> 
> Then, File_Mapped can be greater than Cached easily if you use mm->owner.
> 
> I can't estimate RSS in *my* cgroup if File_Mapped includes pages which is under 
> other cgroups. It's meaningless.
> Especially, when Cached==0 but File_Mapped > 0, I think "oh, the kernel leaks somehing..hmm..."
> 
> By useing page_cgroup->mem_cgroup, we can avoid above mess.

Yes, I see your point. I wanted mapped_file to show up in the cgroup
that mapped the page. But this works for me as well, but that means
we'll nest the page cgroup lock under the PTE lock.

-- 
	Balbir

--
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>

  parent reply	other threads:[~2009-04-17  1:45 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-04-15 12:05 [PATCH] Add file based RSS accounting for memory resource controller (v2) Balbir Singh
2009-04-16  0:53 ` KAMEZAWA Hiroyuki
2009-04-16  1:59   ` Balbir Singh
2009-04-16  2:02     ` KAMEZAWA Hiroyuki
2009-04-16  7:40       ` KAMEZAWA Hiroyuki
2009-04-16  8:15         ` KAMEZAWA Hiroyuki
2009-04-16 12:03           ` Balbir Singh
2009-04-17  0:14             ` KAMEZAWA Hiroyuki
2009-04-17  0:17               ` KAMEZAWA Hiroyuki
2009-04-17  1:40               ` Balbir Singh [this message]
2009-04-17  2:03                 ` KAMEZAWA Hiroyuki
2009-04-17  3:45                   ` Balbir Singh
2009-04-17  3:49                     ` KAMEZAWA Hiroyuki
2009-04-17  4:56                       ` Balbir Singh
2009-04-17  5:17                         ` KAMEZAWA Hiroyuki
2009-04-17  6:47                           ` Balbir Singh
2009-04-17  6:56                             ` KAMEZAWA Hiroyuki
2009-04-17 14:18                               ` [PATCH] Add file based RSS accounting for memory resource controller (v3) Balbir Singh
2009-04-17 16:30                                 ` KAMEZAWA Hiroyuki
2009-04-21  3:00                                   ` Balbir Singh
2009-04-21 20:25                                 ` Andrew Morton
2009-04-22  0:02                                   ` KAMEZAWA Hiroyuki
2009-04-22  3:16                                     ` [PATCH] memcg: remove trylock_page_cgroup KAMEZAWA Hiroyuki
2009-04-22  3:41                                       ` Andrew Morton
2009-04-22  4:41                                         ` KAMEZAWA Hiroyuki
2009-04-22  6:01                                           ` Andrew Morton
2009-04-22  6:13                                             ` KAMEZAWA Hiroyuki
2009-04-22  3:19                                     ` [PATCH] Add file based RSS accounting for memory resource controller (v3) Balbir Singh
2009-04-16 12:14         ` [PATCH] Add file based RSS accounting for memory resource controller (v2) Balbir Singh
2009-04-16 23:57           ` KAMEZAWA Hiroyuki
2009-04-16  3:59     ` Bharata B Rao
2009-04-16  4:34       ` Balbir Singh

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=20090417014042.GB18558@balbir.in.ibm.com \
    --to=balbir@linux.vnet.ibm.com \
    --cc=akpm@linux-foundation.org \
    --cc=kamezawa.hiroyu@jp.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).