From: Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>
To: Christoph Lameter <clameter@sgi.com>
Cc: Aubrey Li <aubreylee@gmail.com>,
Nick Piggin <nickpiggin@yahoo.com.au>,
Robin Getz <rgetz@blackfin.uclinux.org>,
"Henn, erich, Michael" <Michael.Hennerich@analog.com>,
linux-mm@kvack.org, linux-kernel@vger.kernel.org
Subject: Re: [RFC] Limit the size of the pagecache
Date: Thu, 25 Jan 2007 09:47:05 +0530 [thread overview]
Message-ID: <45B82F41.9040705@linux.vnet.ibm.com> (raw)
In-Reply-To: <Pine.LNX.4.64.0701240655400.9696@schroedinger.engr.sgi.com>
Christoph Lameter wrote:
> On Wed, 24 Jan 2007, Vaidyanathan Srinivasan wrote:
>
>> With your patch, MMAP of a file that will cross the pagecache limit hangs the
>> system. As I mentioned in my previous mail, without subtracting the
>> NR_FILE_MAPPED, the reclaim will infinitely try and fail.
>
> Well mapped pages are still pagecache pages.
>
Yes, but they can be classified under a process RSS pages. Whether it
is an anon page or shared mem or mmap of pagecache, it would show up
under RSS. Those pages can be limited by RSS limiter similar to the
one we are discussing in pagecache limiter. In my opinion, once a
file page is mapped by the process, then it should be treated at par
with anon pages. Application programs generally do not mmap a file
page if the reuse for the content is very low.
>> I have tested your patch with the attached fix on my PPC64 box.
>
> Interesting. What is your reason for wanting to limit the size of the
> pagecache?
1. Systems primarily running database workloads would benefit if
background house keeping applications like backup processes do not
fill the pagecache. Databases use O_DIRECT and we do not want the
kernel to even remove cold pages belonging to that application to make
room for pagecache that is going to be used by an unimportant backup
application. The objective is to have some limit on pagecache usage
and make the backup application take all the performance hit and have
zero impact on the main database workload.
Solutions:
* The backup applications could use O_DIRECT as well, but this is not
very flexible since there are restrictions in using O_DIRECT.
Please review http://lkml.org/lkml/2007/1/4/55 for issues with O_DIRECT
* Improve fadvice to specify caching behavior. Rightnow we only model
the readahead behavior. However this would need a change in all
applications and more command line options.
* The technique we are discussing right now can serve the purpose
2. In the context of 'containers' and per container resource
management, there is a need to restrict resources utilized by each of
the process groups within the container. Resources like CPU time,
RSS, pagecache usage, IO bandwidth etc may have to be controlled for
each process groups.
Some of today's open virtualisation solutions like UML instances, KVM
instances among others also have a need to control CPU time, RSS and
(unmapped) pagecache pages to be able to successfully execute
commercial workloads within their virtual environments. Each of these
instances are normal Linux process within the host kernel.
--Vaidy
--
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:[~2007-01-25 4:31 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-01-24 0:49 [RFC] Limit the size of the pagecache Christoph Lameter
2007-01-24 2:53 ` KAMEZAWA Hiroyuki
2007-01-24 3:01 ` Christoph Lameter
2007-01-24 5:47 ` Aubrey Li
2007-01-24 3:00 ` Nick Piggin
2007-01-24 3:14 ` Christoph Lameter
2007-01-24 3:51 ` Aubrey Li
2007-01-24 4:03 ` Nick Piggin
2007-01-26 10:27 ` Andrew Morton
2007-01-24 3:13 ` KAMEZAWA Hiroyuki
2007-01-24 4:30 ` Christoph Lameter
2007-01-24 5:15 ` KAMEZAWA Hiroyuki
2007-01-25 0:32 ` KAMEZAWA Hiroyuki
2007-01-25 2:41 ` Christoph Lameter
2007-01-25 3:12 ` KAMEZAWA Hiroyuki
2007-01-25 4:28 ` Rik van Riel
2007-01-25 5:19 ` KAMEZAWA Hiroyuki
2007-01-25 5:40 ` Rik van Riel
2007-01-25 6:00 ` KAMEZAWA Hiroyuki
2007-01-26 10:29 ` Andrew Morton
2007-01-26 18:01 ` KAMEZAWA Hiroyuki
2007-01-24 7:04 ` Vaidyanathan Srinivasan
2007-01-24 7:55 ` Peter Zijlstra
2007-01-24 12:50 ` Nick Piggin
2007-01-24 12:58 ` Peter Zijlstra
2007-01-24 14:58 ` Christoph Lameter
2007-01-24 20:06 ` Erik Andersen
2007-01-25 2:40 ` Christoph Lameter
2007-01-25 8:07 ` Vaidyanathan Srinivasan
2007-01-24 14:22 ` Aubrey Li
2007-01-24 14:56 ` Peter Zijlstra
2007-01-25 2:27 ` Aubrey Li
2007-01-24 12:33 ` Vaidyanathan Srinivasan
2007-01-24 14:56 ` Christoph Lameter
2007-01-25 4:17 ` Vaidyanathan Srinivasan [this message]
2007-01-25 4:45 ` Rik van Riel
2007-01-25 5:49 ` Vaidyanathan Srinivasan
2007-01-25 16:07 ` Rik van Riel
2007-01-25 17:57 ` Balbir Singh
2007-01-25 6:35 ` Aubrey Li
2007-01-25 6:47 ` Christoph Lameter
2007-01-25 7:49 ` Vaidyanathan Srinivasan
2007-01-25 4:18 ` Rik van Riel
[not found] <7GEEK-4lH-39@gated-at.bofh.it>
[not found] ` <7GLdb-5Uz-13@gated-at.bofh.it>
[not found] ` <7GRix-7fU-1@gated-at.bofh.it>
[not found] ` <7GRLZ-7Uy-29@gated-at.bofh.it>
2007-01-25 14:51 ` Bodo Eggert
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=45B82F41.9040705@linux.vnet.ibm.com \
--to=svaidy@linux.vnet.ibm.com \
--cc=Michael.Hennerich@analog.com \
--cc=aubreylee@gmail.com \
--cc=clameter@sgi.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=nickpiggin@yahoo.com.au \
--cc=rgetz@blackfin.uclinux.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).