linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: "Ray Lee" <ray-lk@madrabbit.org>
To: "david@lang.hm" <david@lang.hm>, Al Boldi <a1426z@gawab.com>
Cc: Nick Piggin <nickpiggin@yahoo.com.au>,
	Jesper Juhl <jesper.juhl@gmail.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	ck list <ck@vds.kolivas.org>, Ingo Molnar <mingo@elte.hu>,
	Paul Jackson <pj@sgi.com>,
	linux-mm@kvack.org, linux-kernel@vger.kernel.org
Subject: Re: -mm merge plans for 2.6.23
Date: Wed, 25 Jul 2007 08:55:03 -0700	[thread overview]
Message-ID: <2c0942db0707250855v414cd72di1e859da423fa6a3a@mail.gmail.com> (raw)
In-Reply-To: <Pine.LNX.4.64.0707242130470.2229@asgard.lang.hm>

Hoo boy, lots of messages this morning.

(Al? I've added you to the CC: because of your swap-in vs swap-out
speed report from January. See below -- half-way down or so -- for
more detals.)

On 7/24/07, david@lang.hm <david@lang.hm> wrote:
> On Tue, 24 Jul 2007, Ray Lee wrote:
>
> > On 7/23/07, Nick Piggin <nickpiggin@yahoo.com.au> wrote:
> >>  Ray Lee wrote:
> >
> >>  Looking at your past email, you have a 1GB desktop system and your
> >>  overnight updatedb run is causing stuff to get swapped out such that
> >>  swap prefetch makes it significantly better. This is really
> >>  intriguing to me, and I would hope we can start by making this
> >>  particular workload "not suck" without swap prefetch (and hopefully
> >>  make it even better than it currently is with swap prefetch because
> >>  we'll try not to evict useful file backed pages as well).
> >
> > updatedb is an annoying case, because one would hope that there would
> > be a better way to deal with that highly specific workload. It's also
> > pretty stat dominant, which puts it roughly in the same category as a
> > git diff. (They differ in that updatedb does a lot of open()s and
> > getdents on directories, git merely does a ton of lstat()s instead.)
> >
> > Anyway, my point is that I worry that tuning for an unusual and
> > infrequent workload (which updatedb certainly is), is the wrong way to
> > go.
>
> updatedb pushing out program data may be able to be improved on with drop
> behind or similar.

Hmm, I thought drop-behind wasn't going to be able to target metadata?

> however another scenerio that causes a similar problem is when a user is
> busy useing one of the big memory hogs and then switches to another (think
> switching between openoffice and firefox)

Yes, and that was the core of my original report months ago. I'm
working for a while on one task, go to openoffice to view a report, or
gimp to tweak the colors on a photo before uploading it, and then go
back to my email and... and... and... there we go. The faults that
occur when I context switch is what's most annoying.

> >>  After that we can look at other problems that swap prefetch helps
> >>  with, or think of some ways to measure your "whole day" scenario.
> >>
> >>  So when/if you have time, I can cook up a list of things to monitor
> >>  and possibly a patch to add some instrumentation over this updatedb
> >>  run.
> >
> > That would be appreciated. Don't spend huge amounts of time on it,
> > okay? Point me the right direction, and we'll see how far I can run
> > with it.
>
> you could make a synthetic test by writing a memory hog that allocates 3/4
> of your ram then pauses waiting for input and then randomly accesses the
> memory for a while (say randomly accessing 2x # of pages allocated) and
> then pausing again before repeating

Con wrote a benchmark much like that. It showed measurable improvement
with swap prefetch.

> by the way, I've also seen comments on the Postgres performance mailing
> list about how slow linux is compared to other OS's in pulling data back
> in that's been pushed out to swap (not a factor on dedicated database
> machines, but a big factor on multi-purpose machines)

Yeah, akpm and... one of the usual suspects, had mentioned something
such as 2.6 is half the speed of 2.4 for swapin. (Let's see if I can
find a reference for that, it's been a year or more...) Okay,
misremembered. Swap in is half the speed of swap out (
http://lkml.org/lkml/2007/1/22/173 ). Al Boldi (added to the CC:, poor
sod), is the one who knows how to measure that, I'm guessing.

Al? How are you coming up with those figures? I'm interested in
reproducing it. It could be due to something stupid, such as the VM
faulting things out in reverse order or something...

> >>  Anyway, I realise swap prefetching has some situations where it will
> >>  fundamentally outperform even the page replacement oracle. This is
> >>  why I haven't asked for it to be dropped: it isn't a bad idea at all.
> >
> > <nod>
> >
> >>  However, if we can improve basic page reclaim where it is obviously
> >>  lacking, that is always preferable. eg: being a highly speculative
> >>  operation, swap prefetch is not great for power efficiency -- but we
> >>  still want laptop users to have a good experience as well, right?
> >
> > Absolutely. Disk I/O is the enemy, and the best I/O is one you never
> > had to do in the first place.
>
> almost always true, however there is some amount of I/O that is free with
> todays drives (remember, they read the entire track into ram and then
> give you the sectors on the track that you asked for). and if you have a
> raid array this is even more true.

Yeah, I knew I'd get called on that one :-). It's the seeks that'll
really kill you, and as you say once you're on the track the rest is
practically free (which is why the VM should prefer to evict larger
chunks at a time rather than lots of small things, see
http://lkml.org/lkml/2007/7/23/214 for something that's heading the
right direction, though the side-effects are unfortunate.

> if you read one sector in from a raid5 array you have done all the same
> I/O that you would have to do to read in the entire stripe, but I don't
> believe that the current system will keep it all around if it exceeds the
> readahead limit.

Fengguang Wu is doing lots of active work on making the readahead suck
less. Ping him and he'll likely take an active interest in the RAID
stuff.

Ray

--
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>

  parent reply	other threads:[~2007-07-25 15:55 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 ` 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
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 [this message]
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=2c0942db0707250855v414cd72di1e859da423fa6a3a@mail.gmail.com \
    --to=ray-lk@madrabbit.org \
    --cc=a1426z@gawab.com \
    --cc=akpm@linux-foundation.org \
    --cc=ck@vds.kolivas.org \
    --cc=david@lang.hm \
    --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 \
    /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