linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Christoph Lameter <clameter@engr.sgi.com>
To: Marcelo Tosatti <marcelo.tosatti@cyclades.com>
Cc: Badari Pulavarty <pbadari@us.ibm.com>,
	linux-mm <linux-mm@kvack.org>,
	lkml <linux-kernel@vger.kernel.org>
Subject: Re: Better pagecache statistics ?
Date: Thu, 1 Dec 2005 13:16:56 -0800 (PST)	[thread overview]
Message-ID: <Pine.LNX.4.62.0512011310030.25135@schroedinger.engr.sgi.com> (raw)
In-Reply-To: <20051201160044.GB14499@dmt.cnet>

We are actually looking at have better pagecache statistics and I have 
been trying out a series of approaches. The direct need right now is to 
have some statistics on the size of the pagecache and the number of 
unmapped file backed pages per node.

With those numbers one would be able to do a local page eviction if memory 
on a node runs low. Per cpu counters exist for some of these but these are 
only meaningful if they are summed up (despite drivers/base/node.c 
seemingly allowing access to per node information).

One pathological case that we frequently encounter is that an application 
does lots of file I/O that saturates a node and then terminates. At that 
point a high number of unmapped pagecache pages exist that are not 
reclaimed because other nodes still have enough free memory. If a counter 
would be available per node then we could check if the numer of unmapped 
pagecache pages is high and if that is the case run kswapd on one specific 
node.

In my various attempts to get some form of statistics for that purpose I 
encountered the problem that I need to modify critical code paths in the 
VM.

One solution would be to add an atomic counter to the zone for the 
number of mapped and the number pagecache pages. However, this would mean 
that these counters have to be incremented and decremented for everypage 
removed and added to the pagecache.

Another one would be to have a node based per cpu array that is summed up 
in regular intervals to create true per node statistics. However, numbers 
are then not current and its not feasable to add them up for every check.

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

  reply	other threads:[~2005-12-01 21:16 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-11-30 18:57 Badari Pulavarty
2005-12-01  2:35 ` Hareesh Nagarajan
2005-12-01 15:20 ` Marcelo Tosatti
2005-12-01 15:59   ` Badari Pulavarty
2005-12-01 16:10     ` Arjan van de Ven
2005-12-01 16:23       ` Badari Pulavarty
2005-12-01 17:08       ` Marcelo Tosatti
2005-12-01 17:15         ` Badari Pulavarty
2005-12-01 17:21           ` Arjan van de Ven
2005-12-01 17:57             ` Marcelo Tosatti
2005-12-01 18:20               ` Badari Pulavarty
2005-12-02 22:15                 ` Frank Ch. Eigler
2005-12-02 22:31                   ` Badari Pulavarty
2005-12-02 22:46                     ` Frank Ch. Eigler
2005-12-02 23:46                       ` Badari Pulavarty
2005-12-01 18:24               ` Badari Pulavarty
2005-12-04 18:48           ` Martin J. Bligh
2005-12-01 17:19     ` Marcelo Tosatti
2005-12-01 17:31       ` Badari Pulavarty
2005-12-01 18:15         ` Marcelo Tosatti
2005-12-01 18:25           ` Badari Pulavarty
2005-12-01 16:00   ` Marcelo Tosatti
2005-12-01 21:16     ` Christoph Lameter [this message]
2005-12-02  0:13       ` Badari Pulavarty
2005-12-28  1:33   ` Marcelo Tosatti
2005-12-28 19:36     ` Tom Zanussi

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=Pine.LNX.4.62.0512011310030.25135@schroedinger.engr.sgi.com \
    --to=clameter@engr.sgi.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=marcelo.tosatti@cyclades.com \
    --cc=pbadari@us.ibm.com \
    /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