linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Rene Herman <rene.herman@gmail.com>
To: david@lang.hm
Cc: Daniel Hazelton <dhazelton@enter.net>,
	Mike Galbraith <efault@gmx.de>,
	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: Sat, 28 Jul 2007 12:11:54 +0200	[thread overview]
Message-ID: <46AB166A.2000300@gmail.com> (raw)
In-Reply-To: <Pine.LNX.4.64.0707280138370.32476@asgard.lang.hm>

On 07/28/2007 10:55 AM, david@lang.hm wrote:

> in at some situations swap prefetch can help becouse something that used 
> memory freed it so there is free memory that could be filled with data 
> (which is something that Linux does agressivly in most other situations)
> 
> in some other situations swap prefetch cannot help becouse useless data 
> is getting cached at the expense of useful data.
> 
> nobody is arguing that swap prefetch helps in the second cast.

Oh yes they are. Daniel for example did twice, telling me to turn my brain 
on in between (if you read it, you may have noticed I got a little annoyed 
at that point).

> but let's talk about the concept here for a little bit
> 
> the design is to use CPU and I/O capacity that's otherwise idle to fill 
> free memory with data from swap.
> 
> pro:
>   more ram has potentially useful data in it
> 
> con:
>   it takes a little extra effort to give this memory to another app (the 
> page must be removed from the list and zeroed at the time it's needed, I 
> assume that the data is left in swap so that it doesn't have to be 
> written out again)

It is. Prefetched pages can be dropped on the floor without additional I/O.

>   it adds some complexity to the kernel (~500 lines IIRC from this thread)
> 
>   by undoing recent swapouts it can potentially mask problems with swapout
> 
> it looks to me like unless the code was really bad (and after 23 months 
> in -mm it doesn't sound like it is)

Not to sound pretentious or anything but I assume that Andrew has a fairly 
good overview of exactly how broken -mm can be at times. How many -mm users 
use it anyway? He himself said he's not convinced of usefulness having not 
seen it help for him (and notice that most developers are also users), 
turned it off due to it annoying him at some point and hasn't seen a serious 
investigation into potential downsides.

> that the only significant con left is the potential to mask other
> problems.

Which is not a madeup issue, mind you. As an example, I just now tried GNU 
locate and saw it's a complete pig and specifically unsuitable for the low 
memory boxes under discussion. Upon completion, it actually frees enough 
memory that swap-prefetch _could_ help on some boxes, while the real issue 
is that they should first and foremost dump GNU locate.

> however there are many legitimate cases where it is definantly dong the 
> right thing (swapout was correct in pushing out the pages, but now the 
> cause of that preasure is gone). the amount of benifit from this will 
> vary from situation to situation, but it's not reasonable to claim that 
> this provides no benifit (you have benchmark numbers that show it in 
> synthetic benchmarks, and you have user reports that show it in the 
> real-worlk)

I certainly would not want to argue anything of the sort no. As said a few 
times, I agree that swap-prefetch makes sense and has at least the potential 
to help some situations that you really wouldnt even want to try and fix any 
other way, simply because nothing's broken.

> there are lots of things in the kernel who's job is to pre-fill the 
> memroy with data that may (or may not) be useful in the future. this is 
> just another method of filling the cache. it does so my saying "the user
> wanted these pages in the recent past, so it's a reasonable guess to say
> that the user will want them again in the future"

Well, _that_ is what the kernel is already going to great lengths at doing, 
and it decided that those pages us poor overnight OO.o users want in in the 
morning weren't reasonable guesses. The kernel also won't any time soon be 
reading our minds, so any solution would need either user intervention (we 
could devise a way to tell the kernel "hey ho, I consider these pages to be 
very important -- try not to swap them out" possible even with a "and if you 
do, please pull them back in when possible") or we can let swap-prefetch do 
the "just in case" thing it is doing.

While swap-prefetch may not be the be all end all of solutions I agree that 
having a machine sit around with free memory and applications in swap seems 
not too useful if (as is the case) fetched pages can be dropped immediately 
when it turns out swap-prefetch made the wrong decision.

So that's for the concept. As to implementation, if I try and look at the 
code, it seems to be trying hard to really be free and as such, potential 
downsides seem limited. It's a rather core concept though and as such needs 
someone with a _lot_ more VM clue to ack. Sorry for not knowing, but who's 
maintaining/submitting the thing now that Con's not? He or she should 
preferably address any concerns it seems.

Rene.

--
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-28 10:11 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
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 [this message]
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=46AB166A.2000300@gmail.com \
    --to=rene.herman@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=andi@firstfloor.org \
    --cc=ck@vds.kolivas.org \
    --cc=david@lang.hm \
    --cc=dhazelton@enter.net \
    --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