From: Rik van Riel <H.H.vanRiel@phys.uu.nl>
To: "Stephen C. Tweedie" <sct@redhat.com>
Cc: Neil Conway <nconway.list@ukaea.org.uk>,
Linux MM <linux-mm@kvack.org>,
Linux Kernel <linux-kernel@vger.rutgers.edu>,
Andrea Arcangeli <andrea@e-mind.com>,
Alan Cox <number6@the-village.bc.nu>
Subject: Re: [PATCH] VM improvements for 2.1.131
Date: Mon, 7 Dec 1998 23:51:20 +0100 (CET) [thread overview]
Message-ID: <Pine.LNX.3.96.981207233805.3961A-100000@mirkwood.dummy.home> (raw)
In-Reply-To: <199812072204.WAA01733@dax.scot.redhat.com>
On Mon, 7 Dec 1998, Stephen C. Tweedie wrote:
> Right: 2.1.131 + Rik's fixes + my fix to Rik's fixes (see below) has
> set a new record for my 8MB benchmarks. In 64MB, it is behaving
> much more rationally than older kernels: still very very very fast,
> especially interactively, but with no massive cache growth and swap
> storms when doing filesystem intensive operations, and swap
> throughput when we _do_ swap is great.
>
> I've changed your readahead stuff to look like:
>
> struct page *page_map = lookup_swap_cache(entry);
>
> if (!page_map) {
> swapin_readahead(entry);
> page_map = read_swap_cache(entry);
> }
>
> which is the right way to do it: we don't want to start a readahead
> on a swap hit, because that will try to extend the readahead "zone"
> one page at a time as we hit existing pages in the cache. That ends
> up with one-page writes,
And one-page reads too. We should probably only start reading
when there are more than swap_readahead/2 pages to read. This
will give us enough time to keep up with 'streaming' applications
while at the same time avoiding single-page I/O.
Kswapd should also avoid calling run_task_queue(&tq_disk)
when (on exit) the number of async pages is less than one
quarter of pager_daemon.swap_cluster. We can always sync
those pages later...
Besides, moving the disk head from where it's now just is
more expensive than the temporary loss of the few kilobytes
we don't free by keeping the pages on the queue :)
> I also fixed the readahead logic itself to start with the correct
> initial page (previously you were doing a "++i" in the for ()
> condition, which means we were skipping the first page in the
> readahead).
Oops, I will fix that too in my tree...
> Finally, I'll experiment with making the readahead a
> granularity-based thing, so that we read an aligned block of (say)
> 64k from swap at a time.
This would be nice, yes. Currently we page in the most
useless rubbish because we simply don't know any better...
> For now, this is looking very good indeed.
Thanks... Always good to hear something like this :)
cheers,
Rik -- the flu hits, the flu hits, the flu hits -- MORE
+-------------------------------------------------------------------+
| Linux memory management tour guide. H.H.vanRiel@phys.uu.nl |
| Scouting Vries cubscout leader. http://www.phys.uu.nl/~riel/ |
+-------------------------------------------------------------------+
--
This is a majordomo managed list. To unsubscribe, send a message with
the body 'unsubscribe linux-mm me@address' to: majordomo@kvack.org
next prev parent reply other threads:[~1998-12-07 23:01 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
1998-12-06 0:34 Rik van Riel
1998-12-06 2:10 ` Eric W. Biederman
1998-12-06 1:59 ` Rik van Riel
1998-12-07 17:08 ` Stephen C. Tweedie
1998-12-07 10:47 ` Neil Conway
1998-12-07 13:04 ` Rik van Riel
1998-12-07 18:01 ` Stephen C. Tweedie
1998-12-07 22:04 ` Stephen C. Tweedie
1998-12-07 22:51 ` Rik van Riel [this message]
1998-12-09 17:43 ` Andrea Arcangeli
1998-12-09 21:05 ` Rik van Riel
1998-12-09 23:15 ` Andrea Arcangeli
1998-12-10 1:10 ` Rik van Riel
1998-12-10 13:52 ` Stephen C. Tweedie
1998-12-10 13:50 ` Stephen C. Tweedie
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=Pine.LNX.3.96.981207233805.3961A-100000@mirkwood.dummy.home \
--to=h.h.vanriel@phys.uu.nl \
--cc=andrea@e-mind.com \
--cc=linux-kernel@vger.rutgers.edu \
--cc=linux-mm@kvack.org \
--cc=nconway.list@ukaea.org.uk \
--cc=number6@the-village.bc.nu \
--cc=sct@redhat.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