From: Rik van Riel <H.H.vanRiel@phys.uu.nl>
To: Billy Harvey <Billy.Harvey@thrillseeker.net>
Cc: "Stephen C. Tweedie" <sct@redhat.com>,
Linux MM <linux-mm@kvack.org>,
Linux Kernel <linux-kernel@vger.rutgers.edu>
Subject: Re: [PATCH] swapin readahead and fixes
Date: Tue, 8 Dec 1998 03:31:25 +0100 (CET) [thread overview]
Message-ID: <Pine.LNX.3.96.981208032438.8407C-100000@mirkwood.dummy.home> (raw)
In-Reply-To: <366C8214.F58091FF@thrillseeker.net>
On Mon, 7 Dec 1998, Billy Harvey wrote:
> Has anyone ever looked at the following concept? In addition to a
> swap-in read-ahead, have a swap-out write-ahead. The idea is to use
> all the avaialble swap space as a mirror of memory.
We do something a bit like this in 2.1.130+. Writing out all
pages to swap will use far too much I/O bandwidth though, so
we will never do that...
> If a need for real memory comes up, and a page has been marked as
> mirrored, then it can be immediately reused without swapping out.
> The trick would be in deciding how to write-ahead without taking
> significant execution time and disk access time away from other
> processes, that is with no impact to active processes.
We will probably want to implement a kind of write-ahead
algorithm for swapout though, but a slightly different one
than you envisioned.
On a swapout, we will scan ahead of where we are (p->swap_address)
and swap out the next number of pages too. We break the loop if:
- the page isn't present or already in swap
- the next two pages were touched since our last scan
- the page isn't allocated
- we reach the end of a SWAP_CLUSTER area in swap space
If we write this way (no more expensive than normal because
we write the stuff in one disk movement) swapin readahead
will be much more effective and performance will increase.
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-08 2:36 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
1998-12-03 17:56 Rik van Riel
1998-12-04 11:34 ` Stephen C. Tweedie
1998-12-04 14:02 ` Rik van Riel
1998-12-04 14:34 ` Stephen C. Tweedie
1998-12-05 9:46 ` Gerard Roudier
1998-12-07 16:50 ` Stephen C. Tweedie
1998-12-08 1:34 ` Billy Harvey
1998-12-08 2:31 ` Rik van Riel [this message]
1998-12-08 2:51 ` Billy Harvey
1998-12-08 3:00 ` Rik van Riel
1998-12-08 12:35 ` Stephen C. Tweedie
1998-12-08 13:51 ` Rik van Riel
1998-12-09 2:41 ` Drago Goricanec
1998-12-09 11:58 ` Stephen C. Tweedie
1998-12-08 12:21 ` Stephen C. Tweedie
1998-12-05 10:47 ` Gerard Roudier
1998-12-04 19:25 ` Chris Evans
1998-12-04 20:47 ` Rik van Riel
1998-12-05 18:59 ` Alan Cox
1998-12-05 19:02 ` Rik van Riel
1998-12-06 5:20 ` Rik van Riel
1998-12-06 5:23 ` Steve VanDevender
1998-12-07 11:52 ` Rik van Riel
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.981208032438.8407C-100000@mirkwood.dummy.home \
--to=h.h.vanriel@phys.uu.nl \
--cc=Billy.Harvey@thrillseeker.net \
--cc=linux-kernel@vger.rutgers.edu \
--cc=linux-mm@kvack.org \
--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