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>
next prev parent 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