public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@linux-foundation.org>
To: Eric St-Laurent <ericstl34@sympatico.ca>
Cc: linux-kernel@vger.kernel.org
Subject: Re: userspace pagecache management tool
Date: Sat, 3 Mar 2007 17:10:16 -0800	[thread overview]
Message-ID: <20070303171016.f0fe422c.akpm@linux-foundation.org> (raw)
In-Reply-To: <1172967299.8493.34.camel@perkele>

On Sat, 03 Mar 2007 19:14:59 -0500 Eric St-Laurent <ericstl34@sympatico.ca> wrote:

> On Sat, 2007-03-03 at 12:29 -0800, Andrew Morton wrote:
> 
> 
> > There is much more which could be done to make this code smarter, but I
> > think the lesson here is that we can produce a far, far better result doing
> > this work in userspace than we could ever hope to do with an in-kernel
> > implementation.  There are some enhancement suggestions in the
> > documentation file.
> 
> While I think that more user space applications should use fadvise() to
> avoid polluting the page cache with unneeded data, I still think the
> kernel should be more fair in regard to page cache management.
> 
> Personally, I've experienced some sluggish performance after copying
> large files around. Even more when using NFS. It's difficult to file a
> bug report for "interactive feel", I don't know how to measure it. I
> just feel it's a weak aspect of the OS.

yeah.  It'd be worth spending some time, try to come up with some set of
commands which produce an effect which you find objectionable.

> Surely it's possible to make the kernel a little bit better to protect
> the page cache from abuse, from simple or badly designed applications.
> 
> Why fairness is provided by the process scheduler with good results, yet
> it somewhat easy for a process to cause slowdowns from page cache usage.
> 
> My personal opinion is that the VM seem tuned for database types
> workloads.

VM hasn't actually been tuned *for* anything much at all, really.  Looking
back on it, much of the tweaking in there has been to avoid really bad
situations.  We put much work into avoiding the 100%, 1000% or 10000%
slowdowns, but not a lot of work into providing the 15% speedups.

So it may well be that the result is not particularly great at anything,
but it's also not horridly bad at anything, either.  Or at least, it's not
supposed to be.

> Of course, making the page cache more fair to prevent one
> process to use most of it will most likely slowdown database type
> applications.

databases actually like to manage their own cache via various means.  There
are some situations in which bulk IO activities can trash the databases's
cache.  That's the sort of thing which this tool is trying to help address.

> Maybe the situation should be reversed, much like the process scheduler.
> Fairness by default, and the possibility to request for more system
> resources by asking for them with necessary privileges. Much like
> SCHED_FIFO policy.

Well.  If the CPU scheduler makes a mistake, we see 5% or 15% degredations.
 If VM make a mistake (or fails to read the operator's mind), we go to disk
and can suffer 1000% degredations or worse.


  reply	other threads:[~2007-03-04  1:10 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-03-03 20:29 userspace pagecache management tool Andrew Morton
2007-03-03 20:40 ` Rik van Riel
2007-03-03 21:12   ` Andrew Morton
2007-03-03 21:30     ` Rik van Riel
2007-03-03 21:41       ` bert hubert
2007-03-03 22:14         ` Andrew Morton
2007-03-03 22:19           ` Rik van Riel
2007-03-03 22:26             ` Andrew Morton
2007-03-03 22:28               ` Rik van Riel
2007-03-03 22:38                 ` Andrew Morton
2007-03-03 22:56               ` Erik Andersen
2007-03-03 23:01               ` bert hubert
2007-03-03 23:45                 ` Andrew Morton
2007-03-06 12:10                   ` Pádraig Brady
2007-03-06 21:40                     ` Andrew Morton
2007-03-06 21:44                       ` Rik van Riel
2007-03-07 11:39                       ` Pádraig Brady
2007-03-07 18:50                         ` Andrew Morton
2007-03-08  7:59                   ` Vaidyanathan Srinivasan
2007-03-08  8:12                     ` Andrew Morton
2007-03-03 22:07       ` Andrew Morton
2007-03-03 22:25         ` Rik van Riel
2007-03-03 22:37           ` Andrew Morton
2007-03-03 22:52           ` Andrew Morton
2007-03-04  0:01             ` Rik van Riel
2007-03-04  1:02               ` Andrew Morton
2007-03-04  1:23                 ` Rik van Riel
2007-03-04  1:49                   ` Andrew Morton
2007-03-04  1:56                     ` Rik van Riel
2007-03-04 12:07                       ` Andrew Morton
2007-03-04 14:35                         ` Peter Zijlstra
2007-03-04 16:01                         ` Rik van Riel
2007-03-03 22:58 ` Ray Lee
2007-03-03 23:34   ` Andrew Morton
2007-03-04  1:02     ` Ray Lee
2007-03-04  1:21       ` Andrew Morton
2007-03-04  0:14 ` Eric St-Laurent
2007-03-04  1:10   ` Andrew Morton [this message]
2007-03-04  1:39   ` Rik van Riel
2007-03-04  1:16 ` Lee Revell
2007-03-04  1:39   ` Andrew Morton
2007-03-04  2:35     ` Lee Revell
2007-03-04  4:35       ` Andrew Morton
2007-03-05 11:02 ` Pádraig Brady
2007-03-05 11:12   ` Andrew Morton

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=20070303171016.f0fe422c.akpm@linux-foundation.org \
    --to=akpm@linux-foundation.org \
    --cc=ericstl34@sympatico.ca \
    --cc=linux-kernel@vger.kernel.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