LWN.net Logo

Re: [PATCH] memcg: doc the pagefault count

From:  Andrew Morton <akpm-AT-linux-foundation.org>
To:  Ying Han <yinghan-AT-google.com>
Subject:  Re: [PATCH] memcg: doc the pagefault count
Date:  Wed, 9 Nov 2011 16:22:14 -0800
Message-ID:  <20111109162214.5f787d23.akpm@linux-foundation.org>
Cc:  Wanlong Gao <gaowanlong-AT-cn.fujitsu.com>, linux-kernel-AT-vger.kernel.org, cgroups-AT-vger.kernel.org, kamezawa.hiroyu-AT-jp.fujitsu.com
Archive-link:  Article, Thread

On Wed, 9 Nov 2011 16:05:36 -0800
Ying Han <yinghan@google.com> wrote:

> On Wed, Nov 9, 2011 at 2:44 PM, Andrew Morton <akpm@linux-foundation.org> wrote:
> >
> > On Fri, 4 Nov 2011 17:15:21 +0800
> > Wanlong Gao <gaowanlong@cn.fujitsu.com> wrote:
> >
> > > Pagefault count has added to memcg stats since commit 456f998e,
> > > but forgot to doc it.
> > >
> > > Signed-off-by: Wanlong Gao <gaowanlong@cn.fujitsu.com>
> > > ---
> > >  Documentation/cgroups/memory.txt |    7 +++++++
> > >  1 files changed, 7 insertions(+), 0 deletions(-)
> > >
> > > diff --git a/Documentation/cgroups/memory.txt b/Documentation/cgroups/memory.txt
> > > index cc0ebc5..081f4f44 100644
> > > --- a/Documentation/cgroups/memory.txt
> > > +++ b/Documentation/cgroups/memory.txt
> > > @@ -389,6 +389,13 @@ mapped_file      - # of bytes of mapped file (includes tmpfs/shmem)
> > >  pgpgin               - # of pages paged in (equivalent to # of charging events).
> > >  pgpgout              - # of pages paged out (equivalent to # of uncharging events).
> > >  swap         - # of bytes of swap usage
> > > +
> > > +pgfault              - # of page-faults
> > > +pgmajfault   - # of major page-faults
> > > +             These two are different from "pgpgin"/"pgpgout" stat which
> > > +             count number of pages charged/discharged to the cgroup and
> > > +             have no meaning of reading/writing page to disk.
> > > +
> > >  inactive_anon        - # of bytes of anonymous memory and swap cache memory on
> >
> > OK, but the documentation was already rather poor.
> >
> > For a start, what do pgpgin and pgpgout actually count?  How about
> >
> > pgpgin: the number of pages read from disk as a result of pagefault
> > activity within this memcg (swapin and mapped-file pagein).  Does not
> > include other causes of disk I/O such as read().
> >
> > pgpgout: the number of pages written to disk as a result of swap and
> > mapped-file activity within this memcg.  Does not include other causes
> > of disk I/O such as write().
> >
> > (I'm really not sure if this is correct!)
> 
>  Andrew,
> I am afraid those two stats in memcg world have different perspective
> than the ones in vmstat.

Wow.  Ouch.

> They are only incremented/decremented during
> charge/uncharge, which is regardless of having IO involved. The
> existing documentation isn't that clear i agree. How about:
> 
>  pgpgin         - # of 4k page charging events to the memory cgroup
>  pgpgout       - # of 4k page uncharging events to the memory cgroup

Did we tell readers what a "charging event" is?

What do these numbers represent if the machine is using 16k pages?

And what do pgfault/pgmajfault mean within memcg?  I now fear to ask -
given the pgpgin/pgpgout situation, these are probably related to my
shampoo viscosity or something :(



(Log in to post comments)

Copyright © 2011, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds