linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Daniel Hazelton <dhazelton@enter.net>
To: Mike Galbraith <efault@gmx.de>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	Ingo Molnar <mingo@elte.hu>,
	Frank Kingswood <frank@kingswood-consulting.co.uk>,
	Andi Kleen <andi@firstfloor.org>,
	Nick Piggin <nickpiggin@yahoo.com.au>,
	Ray Lee <ray-lk@madrabbit.org>,
	Jesper Juhl <jesper.juhl@gmail.com>, ck list <ck@vds.kolivas.org>,
	Paul Jackson <pj@sgi.com>,
	linux-mm@kvack.org, linux-kernel@vger.kernel.org
Subject: Re: RFT: updatedb "morning after" problem [was: Re: -mm merge plans for 2.6.23]
Date: Fri, 27 Jul 2007 13:45:54 -0400	[thread overview]
Message-ID: <200707271345.55187.dhazelton@enter.net> (raw)
In-Reply-To: <1185531918.8799.17.camel@Homer.simpson.net>

On Friday 27 July 2007 06:25:18 Mike Galbraith wrote:
> On Fri, 2007-07-27 at 03:00 -0700, Andrew Morton wrote:
> > On Fri, 27 Jul 2007 01:47:49 -0700 Andrew Morton 
<akpm@linux-foundation.org> wrote:
> > > More sophisticated testing is needed - there's something in
> > > ext3-tools which will mmap, page in and hold a file for you.
> >
> > So much for that theory.  afaict mmapped, active pagecache is immune to
> > updatedb activity.  It just sits there while updatedb continues munching
> > away at the slab and blockdev pagecache which it instantiated.  I assume
> > we're never getting the VM into enough trouble to tip it over the
> > start-reclaiming-mapped-pages threshold (ie: /proc/sys/vm/swappiness).
> >
> > Start the updatedb on this 128MB machine with 80MB of mapped pagecache,
> > it falls to 55MB fairly soon and then never changes.
> >
> > So hrm.  Are we sure that updatedb is the problem?  There are quite a few
> > heavyweight things which happen in the wee small hours.
>
> The balance in _my_ world seems just fine.  I don't let any of those
> system maintenance things run while I'm using the system, and it doesn't
> bother me if my working set has to be reconstructed after heavy-weight
> maintenance things are allowed to run.  I'm not seeing anything I
> wouldn't expect to see when running a job the size of updatedb.
>
> 	-Mike

Do you realize you've totally missed the point?

It isn't about what is fine in the Kernel Developers world, but what is fine 
in the *USERS* world. 

There are dozens of big businesses pushing Linux for Enterprise performance. 
Rather than discussing the merit of those patches - some of which just 
improve the performance of a specific application by 1 or 2  percent - they 
get a nod and go into the kernel. But when a group of users that don't 
represent one of those businesses says "Hey, this helps with problems I see 
on my system" there is a big discussion and ultimately those patches get 
rejected. Why? Because they'll give an example using a program that they see 
causing part of the problem and be told "Use program X - it does things 
differently and shouldn't cause the problem" or "But what causes the problem 
to happen? The patch treats a symptom of a larger problem".

The fucked up part of that is that the (mass of) kernel developers will see a 
similar report saying "mySQL has a performance problem because of X, this 
fixes it" and not blink twice - even if it is "treating the symptom and not 
the cause". It's this attitude more than anything that caused Con 
to "retire" - at least that is the impression I got from the interviews he's 
given. (The exact impression was "I'm sick of the kernel developers doing 
everything they can to help enterprise users and ignoring the home users")

So...
The problem:
Updatedb or another process that uses the FS heavily runs on a users 256MB 
P3-800 (when it is idle) and the VFS caches grow, causing memory pressure 
that causes other applications to be swapped to disk. In the morning the user 
has to wait for the system to swap those applications back in.

Questions about it:
Q) Does swap-prefetch help with this? 
A) [From all reports I've seen (*)] Yes, it does. 

Q) Why does it help? 
A) Because it pro-actively swaps stuff back-in when the memory pressure that 
caused it to be swapped out is gone. 

Q) What causes the problem? 
A) The VFS layer not keeping a limited cache. Instead the VFS will chew 
through available memory in the name of "increasing performance".

Solution(s) to the problem:
1) Limit the amount of memory the pagecache and other VFS caches can consume
2) Implement swap prefetch

If I had a (more) complete understanding of how the VFS cache(s) work I'd try 
to code a patch to do #1 myself. Patches to do #2 already exist and have been 
shown to work for the users that have tried it. My question is thus, simply: 
What is the reason that it is argued against?(**)

DRH
PS: Yes, I realize I've repeated some people from earlier in this thread, but 
it seems that people have been forgetting the point.

(*) I've followed this thread and all of its splinters. The reports that are 
in them, where the person making the report has a system that has the limited 
memory needed for the problem to exhibit itself, all show that swap-prefetch 
helps.

(**) No, I won't settle for "Its treating a symptom". The fact is that this 
isn't a *SYMPTOM* of anything. It treats the cause of the lag the users that 
have less than (for the sake of argument) 1G of memory are seeing. And no, 
changing userspace isn't a solution - updatedb may be the program that has 
been used as an example, but there are others. The proper fix is to change 
the kernel to either make the situation impossible (limit the VFS and other 
kernel caches) or make the situation as painless as possible (implement swap 
prefetch to alleviate the lag of swapping data back in).

-- 
Dialup is like pissing through a pipette. Slow and excruciatingly painful.

--
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:[~2007-07-27 17:45 UTC|newest]

Thread overview: 227+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20070710013152.ef2cd200.akpm@linux-foundation.org>
2007-07-10 10:15 ` -mm merge plans for 2.6.23 Con Kolivas
2007-07-11  1:02   ` Matthew Hawkins
2007-07-11  1:14     ` [ck] " Andrew Morton
2007-07-11  1:52       ` André Goddard Rosa
2007-07-11  4:25         ` [ck] " André Goddard Rosa
2007-07-11  2:21       ` Ira Snyder
2007-07-11  3:37         ` timotheus
2007-07-11  2:54       ` Matthew Hawkins
2007-07-11  5:18         ` Nick Piggin
2007-07-11  5:47           ` Ray Lee
2007-07-11  5:54             ` Nick Piggin
2007-07-11  6:04               ` Ray Lee
2007-07-11  6:24                 ` Nick Piggin
2007-07-11  7:50                   ` swap prefetch (Re: -mm merge plans for 2.6.23) Ingo Molnar
2007-07-11  6:00             ` [ck] Re: -mm merge plans for 2.6.23 Nick Piggin
2007-07-11  3:59       ` Grzegorz Kulewski
2007-07-11 12:26       ` Kevin Winchester
2007-07-11 12:36         ` Jesper Juhl
2007-07-12 12:06       ` Kacper Wysocki
2007-07-12 12:35         ` Avuton Olrich
2007-07-22 23:11   ` Con Kolivas
2007-07-23 23:08   ` Jesper Juhl
2007-07-24  3:22     ` Nick Piggin
2007-07-24  4:53       ` Ray Lee
2007-07-24  5:10         ` Jeremy Fitzhardinge
2007-07-24  5:18           ` Ray Lee
2007-07-24  5:16         ` Nick Piggin
2007-07-24 16:11           ` -mm merge plans for 2.6.23 - Completely Fair Swap Prefetch Frank Kingswood
2007-07-25  0:59             ` [ck] " Matthew Hawkins
2007-07-24 16:15           ` -mm merge plans for 2.6.23 Ray Lee
2007-07-25  4:06             ` Nick Piggin
2007-07-25  4:55               ` Rene Herman
2007-07-25  5:00                 ` Nick Piggin
2007-07-25  5:12                 ` david
2007-07-25  5:30                   ` Rene Herman
2007-07-25  5:51                     ` david
2007-07-25  7:14                     ` Valdis.Kletnieks
2007-07-25  8:18                       ` Rene Herman
2007-07-25  8:28                         ` Ingo Molnar
2007-07-25  8:43                           ` Rene Herman
2007-07-25 10:53                             ` [ck] " Jos Poortvliet
2007-07-25 11:06                               ` Nick Piggin
2007-07-25 12:39                                 ` Jos Poortvliet
2007-07-25 13:30                               ` Rene Herman
2007-07-25 13:50                                 ` Ingo Molnar
2007-07-25 17:33                                   ` Satyam Sharma
2007-07-25 20:35                                     ` Ingo Molnar
2007-07-26  2:32                                       ` Bartlomiej Zolnierkiewicz
2007-07-26  4:13                                         ` Jeff Garzik
2007-07-26 10:22                                           ` Bartlomiej Zolnierkiewicz
2007-07-25 11:34                             ` Ingo Molnar
2007-07-25 11:40                               ` Rene Herman
2007-07-25 11:50                                 ` Ingo Molnar
2007-07-25 16:08                               ` Valdis.Kletnieks
2007-07-25 22:05                               ` Paul Jackson
2007-07-25 22:22                                 ` Zan Lynx
2007-07-25 22:27                                 ` Jesper Juhl
2007-07-25 22:28                                 ` [ck] " Michael Chang
2007-07-25 23:45                                 ` André Goddard Rosa
2007-07-25 16:02                     ` Ray Lee
2007-07-25 20:55                       ` Zan Lynx
2007-07-25 21:28                         ` Ray Lee
2007-07-26  1:15                       ` [ck] " Matthew Hawkins
2007-07-26  1:32                         ` Ray Lee
2007-07-26  3:16                           ` Matthew Hawkins
2007-07-26 22:30                         ` Michael Chang
2007-07-25  5:30                 ` Eric St-Laurent
2007-07-25  5:37                   ` Nick Piggin
2007-07-25  5:53                     ` david
2007-07-25  6:04                       ` Nick Piggin
2007-07-25  6:23                         ` david
2007-07-25  7:25                           ` Nick Piggin
2007-07-25  7:49                             ` Ingo Molnar
2007-07-25  7:58                               ` Nick Piggin
2007-07-25  8:15                                 ` Ingo Molnar
2007-07-25 10:41                         ` Jesper Juhl
2007-07-25  6:19                     ` [ck] " Matthew Hawkins
2007-07-25  6:30                       ` Nick Piggin
2007-07-25  6:47                       ` Mike Galbraith
2007-07-25  7:19                         ` Eric St-Laurent
2007-07-25  6:44                     ` Eric St-Laurent
2007-07-25 16:09                     ` Ray Lee
2007-07-26  4:57                       ` Andrew Morton
2007-07-26  5:53                         ` Nick Piggin
2007-07-26  6:06                           ` Andrew Morton
2007-07-26  6:17                             ` Nick Piggin
2007-07-26  6:33                         ` Ray Lee
2007-07-26  6:50                           ` Andrew Morton
2007-07-26  7:43                             ` Ray Lee
2007-07-26  7:59                               ` Nick Piggin
2007-07-28  0:24                             ` Matt Mackall
2007-07-26 14:19                         ` [ck] " Michael Chang
2007-07-26 18:13                           ` Andrew Morton
2007-07-26 22:04                             ` Dirk Schoebel
2007-07-26 22:33                               ` Dirk Schoebel
2007-07-26 23:27                                 ` Jeff Garzik
2007-07-26 23:29                                   ` david
2007-07-26 23:39                                     ` Jeff Garzik
2007-07-27  0:12                                       ` david
2007-07-28  0:12                         ` Matt Mackall
2007-07-28  3:42                         ` Daniel Cheng
2007-07-28  9:35                           ` Stefan Richter
2007-07-25 17:55                     ` Frank A. Kingswood
2007-07-25  6:09               ` [ck] " Matthew Hawkins
2007-07-25  6:18                 ` Nick Piggin
2007-07-25 16:19               ` Ray Lee
2007-07-25 20:46               ` Andi Kleen
2007-07-26  8:38                 ` Frank Kingswood
2007-07-26  9:20                   ` Ingo Molnar
2007-07-26  9:34                     ` Andrew Morton
2007-07-26  9:40                       ` RFT: updatedb "morning after" problem [was: Re: -mm merge plans for 2.6.23] Ingo Molnar
2007-07-26 10:09                         ` Andrew Morton
2007-07-26 10:24                           ` Ingo Molnar
2007-07-27  0:33                             ` [ck] " Matthew Hawkins
2007-07-30  9:33                               ` Helge Hafting
2007-07-26 10:27                           ` Ingo Molnar
2007-07-26 10:38                             ` Andrew Morton
2007-07-26 12:46                           ` Mike Galbraith
2007-07-26 18:05                             ` Andrew Morton
2007-07-27  5:12                               ` Mike Galbraith
2007-07-27  7:23                                 ` Mike Galbraith
2007-07-27  8:47                                   ` Andrew Morton
2007-07-27  8:54                                     ` Al Viro
2007-07-27  9:02                                       ` Andrew Morton
2007-07-27  9:40                                     ` Mike Galbraith
2007-07-27 10:00                                     ` Andrew Morton
2007-07-27 10:25                                       ` Mike Galbraith
2007-07-27 17:45                                         ` Daniel Hazelton [this message]
2007-07-27 18:16                                           ` Rene Herman
2007-07-27 19:43                                             ` david
2007-07-28  7:19                                               ` Rene Herman
2007-07-28  8:55                                                 ` david
2007-07-28 10:11                                                   ` Rene Herman
2007-07-28 11:21                                                     ` Alan Cox
2007-07-28 16:29                                                       ` Ray Lee
2007-07-28 21:03                                                       ` david
2007-07-29  8:11                                                       ` Rene Herman
2007-07-29 13:12                                                         ` Alan Cox
2007-07-29 14:07                                                           ` Rene Herman
2007-07-29 14:58                                                             ` Ray Lee
2007-07-29 14:59                                                               ` Rene Herman
2007-07-29 15:20                                                                 ` Ray Lee
2007-07-29 15:36                                                                   ` Rene Herman
2007-07-29 16:04                                                                     ` Ray Lee
2007-07-29 16:59                                                                       ` Rene Herman
2007-07-29 17:19                                                                         ` Ray Lee
2007-07-29 17:33                                                                           ` Rene Herman
2007-07-29 17:52                                                                             ` Ray Lee
2007-07-29 19:05                                                                               ` Rene Herman
2007-07-29 17:53                                                                             ` Alan Cox
2007-07-29 19:33                                                                   ` Paul Jackson
2007-07-29 20:00                                                                     ` Ray Lee
2007-07-29 20:18                                                                       ` Paul Jackson
2007-07-29 20:23                                                                         ` Ray Lee
2007-07-29 21:06                                                                       ` Daniel Hazelton
2007-07-28 21:00                                                     ` david
2007-07-29 10:09                                                       ` Rene Herman
2007-07-29 11:41                                                         ` david
2007-07-29 14:01                                                           ` Rene Herman
2007-07-29 21:19                                                             ` david
2007-08-06  2:14                                                               ` Nick Piggin
2007-08-06  2:22                                                                 ` david
2007-08-06  9:21                                                                   ` Nick Piggin
2007-08-06  9:55                                                                     ` Paolo Ciarrocchi
2007-07-28 15:56                                                   ` Daniel Hazelton
2007-07-28 21:06                                                     ` david
2007-07-28 21:48                                                       ` Daniel Hazelton
2007-07-27 20:28                                             ` Daniel Hazelton
2007-07-28  5:19                                               ` Rene Herman
2007-07-27 23:15                                             ` Björn Steinbrink
2007-07-27 23:29                                               ` Andi Kleen
2007-07-28  0:08                                                 ` Björn Steinbrink
2007-07-28  1:10                                                 ` Daniel Hazelton
2007-07-29 12:53                                                 ` Paul Jackson
2007-07-28  7:35                                               ` Rene Herman
2007-07-28  8:51                                                 ` Rene Herman
2007-07-27 22:08                                           ` Mike Galbraith
2007-07-27 22:51                                             ` Daniel Hazelton
2007-07-28  7:48                                               ` Mike Galbraith
2007-07-28 15:36                                                 ` Daniel Hazelton
2007-07-29  1:33                                     ` Rik van Riel
2007-07-29  3:39                                       ` Andrew Morton
2007-07-26 10:20                         ` Al Viro
2007-07-26 12:23                           ` Andi Kleen
2007-07-26 14:59                             ` Al Viro
2007-07-11 20:41                               ` Pavel Machek
2007-07-27 19:19                           ` Paul Jackson
2007-07-26 13:05                         ` Fredrik Klasson
2007-07-31 16:37               ` [ck] Re: -mm merge plans for 2.6.23 Matthew Hawkins
2007-08-06  2:11                 ` Nick Piggin
2007-07-25  4:46             ` david
2007-07-25  8:00               ` Rene Herman
2007-07-25  8:07                 ` david
2007-07-25  8:29                   ` Rene Herman
2007-07-25  8:31                     ` david
2007-07-25  8:33                       ` david
2007-07-25 10:58                         ` Rene Herman
2007-07-25 15:55               ` Ray Lee
2007-07-25 20:16                 ` Al Boldi
2007-07-27  0:28                   ` Magnus Naeslund
2007-07-24  5:18         ` Andrew Morton
2007-07-24  6:01           ` Ray Lee
2007-07-24  6:10             ` Andrew Morton
2007-07-24  9:38             ` Tilman Schmidt
2007-07-25  1:26           ` [ck] " Matthew Hawkins
2007-07-25  1:35             ` David Miller, Matthew Hawkins
2007-07-24  0:08   ` Con Kolivas
2007-07-11 11:39 ` buffered write patches, " Christoph Hellwig
2007-07-11 17:23   ` Andrew Morton
2007-07-11 12:23 ` lguest, " Christoph Hellwig
2007-07-11 15:45   ` Randy Dunlap
2007-07-11 18:04   ` Andrew Morton
2007-07-12  1:21   ` Rusty Russell
2007-07-12  2:28     ` David Miller, Rusty Russell
2007-07-12  2:48       ` Rusty Russell
2007-07-12  2:51         ` David Miller, Rusty Russell
2007-07-12  3:15           ` Rusty Russell
2007-07-12  3:35             ` David Miller, Rusty Russell
2007-07-12  4:24         ` Andrew Morton
2007-07-12  4:52           ` Rusty Russell
2007-07-12 11:10             ` Avi Kivity
2007-07-19 17:27             ` Christoph Hellwig
2007-07-20  3:27               ` Rusty Russell
2007-07-20  7:15                 ` Christoph Hellwig
2007-07-12  0:54 ` fault vs invalidate race (Re: -mm merge plans for 2.6.23) Nick Piggin
2007-07-12  2:31   ` block_page_mkwrite? (Re: fault vs invalidate race (Re: -mm merge plans for 2.6.23)) David Chinner
2007-07-12  2:42     ` Nick Piggin

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=200707271345.55187.dhazelton@enter.net \
    --to=dhazelton@enter.net \
    --cc=akpm@linux-foundation.org \
    --cc=andi@firstfloor.org \
    --cc=ck@vds.kolivas.org \
    --cc=efault@gmx.de \
    --cc=frank@kingswood-consulting.co.uk \
    --cc=jesper.juhl@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mingo@elte.hu \
    --cc=nickpiggin@yahoo.com.au \
    --cc=pj@sgi.com \
    --cc=ray-lk@madrabbit.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