From: Andrew Morton <akpm@osdl.org>
To: Ray Bryant <raybry@engr.sgi.com>
Cc: mort@sgi.com, linux-mm@kvack.org, raybry@sgi.com, ak@suse.de
Subject: Re: [PATCH/RFC 0/4] VM: Manual and Automatic page cache reclaim
Date: Tue, 3 May 2005 01:08:46 -0700 [thread overview]
Message-ID: <20050503010846.508bbe62.akpm@osdl.org> (raw)
In-Reply-To: <4277259C.6000207@engr.sgi.com>
Ray Bryant <raybry@engr.sgi.com> wrote:
>
> ...
> One of the common responses to changes in the VM system for optimizations
> of this type is that we instead should devote our efforts to improving
> the VM system algorithms and that we are taking an "easy way out" by
> putting a hack into the VM system.
There's that plus the question which forever lurks around funky SGI patches:
How many machines in the world want this feature?
Because if the answer is "twelve" then gee it becomes hard to justify
merging things into the mainline kernel. Particularly when they add
complexity to page reclaim.
> Fundamentally, the VM system cannot
> predict the future behavior of the application in order to correctly
> make this tradeoff.
Yup. But we could add a knob to each zone which says, during page
allocation "be more reluctant to advance onto the next node - do some
direct reclaim instead"
And the good thing about that is that it is an easier merge because it's a
simpler patch and because it's useful to more machines. People can tune it
and get better (or worse) performance from existing apps on NUMA.
Yes, if it's a "simple" patch then it _might_ do a bit of swapout or
something. But the VM does prefer to reclaim clean pagecache first (as
well as slab, which is a bonus for this approach).
Worth trying, at least?
>
> Why isn't POSIX_FADV_DONTNEED good enough here?
> ----------------------------------------------
I was going to ask that.
> We've tried that too. If the application is sufficiently aware of what
> files it has opened, it could schedule those page cache pages to be
> released. Unfortunately, this doesn't handle the case of the last
> application that ran and wrote out a bunch of data before it terminated,
> nor does it deal very well with shell scripts that stage data onto and
> off of the compute node as part the job's workflow.
Ah. But to do this we need to be able to answer the question "what files
are in pagecache, and how much pagecache do they have". (And "on what
nodes", but let's ignore that coz it's hard ;)) And something like this
would be an easier merge because it's useful to more than twelve machines.
It could be done in userspace, really. Hack into glibc's open() and
creat() to log file opening activity, something silly like that.
--
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:"aart@kvack.org"> aart@kvack.org </a>
next prev parent reply other threads:[~2005-05-03 8:08 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-04-27 15:08 Martin Hicks
2005-04-27 17:36 ` Nikita Danilov
2005-04-28 6:33 ` Andrew Morton
2005-04-28 11:16 ` Nick Piggin
2005-04-28 11:56 ` Rik van Riel
2005-04-28 12:53 ` Martin Hicks
2005-05-03 7:17 ` Ray Bryant
2005-05-03 8:08 ` Andrew Morton [this message]
2005-05-03 13:21 ` Martin Hicks
2005-05-04 1:23 ` Andrew Morton
2005-05-12 18:53 ` Martin Hicks
2005-05-12 18:57 ` Martin Hicks
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=20050503010846.508bbe62.akpm@osdl.org \
--to=akpm@osdl.org \
--cc=ak@suse.de \
--cc=linux-mm@kvack.org \
--cc=mort@sgi.com \
--cc=raybry@engr.sgi.com \
--cc=raybry@sgi.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