From: Robert Hancock <hancockr@shaw.ca>
To: Al Boldi <a1426z@gawab.com>
Cc: Chris Snook <csnook@redhat.com>,
linux-kernel@vger.kernel.org, linux-mm@kvack.org
Subject: Re: How can we make page replacement smarter (was: swap-prefetch)
Date: Sat, 28 Jul 2007 10:32:47 -0600 [thread overview]
Message-ID: <46AB6FAF.5030306@shaw.ca> (raw)
In-Reply-To: <fa.0CL7DLsw6U7akTkW79pdCM5NPRk@ifi.uio.no>
Al Boldi wrote:
> Chris Snook wrote:
>> Al Boldi wrote:
>>> Because it is hard to quantify the expected swap-in speed for random
>>> pages, let's first tackle the swap-in of consecutive pages, which should
>>> be at least as fast as swap-out. So again, why is swap-in so slow?
>> If I'm writing 20 pages to swap, I can find a suitable chunk of swap and
>> write them all in one place. If I'm reading 20 pages from swap, they
>> could be anywhere. Also, writes get buffered at one or more layers of
>> hardware.
>
> Ok, this explains swap-in of random pages. Makes sense, but it doesn't
> explain the awful tmpfs performance degradation of consecutive read-in runs
> from swap, which should have at least stayed constant
>
>> At best, reads can be read-ahead and cached, which is why
>> sequential swap-in sucks less. On-demand reads are as expensive as I/O
>> can get.
>
> Which means that it should be at least as fast as swap-out, even faster
> because write to disk is usually slower than read on modern disks. But
> linux currently shows a distinct 2x slowdown for sequential swap-in wrt
> swap-out. And to prove this point, just try suspend to disk where you can
> see sequential swap-out being reported at about twice the speed of
> sequential swap-in on resume. Why is that?
Depends if swap-in is doing any read-ahead. If it's reading one page at
a time in from the disk then the performance will definitely suck
because of all the overhead from the tiny I/O's. With random swap-in you
then pay the horrible seek penalty for all the reads as well.
--
Robert Hancock Saskatoon, SK, Canada
To email, remove "nospam" from hancockr@nospamshaw.ca
Home Page: http://www.roberthancock.com/
WARNING: multiple messages have this Message-ID (diff)
From: Robert Hancock <hancockr@shaw.ca>
To: Al Boldi <a1426z@gawab.com>
Cc: Chris Snook <csnook@redhat.com>,
linux-kernel@vger.kernel.org, linux-mm@kvack.org
Subject: Re: How can we make page replacement smarter (was: swap-prefetch)
Date: Sat, 28 Jul 2007 10:32:47 -0600 [thread overview]
Message-ID: <46AB6FAF.5030306@shaw.ca> (raw)
In-Reply-To: <fa.0CL7DLsw6U7akTkW79pdCM5NPRk@ifi.uio.no>
Al Boldi wrote:
> Chris Snook wrote:
>> Al Boldi wrote:
>>> Because it is hard to quantify the expected swap-in speed for random
>>> pages, let's first tackle the swap-in of consecutive pages, which should
>>> be at least as fast as swap-out. So again, why is swap-in so slow?
>> If I'm writing 20 pages to swap, I can find a suitable chunk of swap and
>> write them all in one place. If I'm reading 20 pages from swap, they
>> could be anywhere. Also, writes get buffered at one or more layers of
>> hardware.
>
> Ok, this explains swap-in of random pages. Makes sense, but it doesn't
> explain the awful tmpfs performance degradation of consecutive read-in runs
> from swap, which should have at least stayed constant
>
>> At best, reads can be read-ahead and cached, which is why
>> sequential swap-in sucks less. On-demand reads are as expensive as I/O
>> can get.
>
> Which means that it should be at least as fast as swap-out, even faster
> because write to disk is usually slower than read on modern disks. But
> linux currently shows a distinct 2x slowdown for sequential swap-in wrt
> swap-out. And to prove this point, just try suspend to disk where you can
> see sequential swap-out being reported at about twice the speed of
> sequential swap-in on resume. Why is that?
Depends if swap-in is doing any read-ahead. If it's reading one page at
a time in from the disk then the performance will definitely suck
because of all the overhead from the tiny I/O's. With random swap-in you
then pay the horrible seek penalty for all the reads as well.
--
Robert Hancock Saskatoon, SK, Canada
To email, remove "nospam" from hancockr@nospamshaw.ca
Home Page: http://www.roberthancock.com/
--
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>
next parent reply other threads:[~2007-07-28 16:33 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <fa.RQO1FPcnWSV7f0LbL9tuLuh/fYY@ifi.uio.no>
[not found] ` <fa.FI89MRq1q0M+6SmmYNPsXQv2gC8@ifi.uio.no>
[not found] ` <fa./S2LBynIjozRhHfPsYxB9mQDpKE@ifi.uio.no>
[not found] ` <fa.0CL7DLsw6U7akTkW79pdCM5NPRk@ifi.uio.no>
2007-07-28 16:32 ` Robert Hancock [this message]
2007-07-28 16:32 ` How can we make page replacement smarter (was: swap-prefetch) Robert Hancock
2007-07-27 19:43 swap-prefetch: A smart way to make good use of idle resources (was: updatedb) Al Boldi
2007-07-28 1:56 ` Chris Snook
2007-07-28 4:17 ` How can we make page replacement smarter (was: swap-prefetch) Al Boldi
2007-07-28 4:17 ` Al Boldi
2007-07-28 7:27 ` Chris Snook
2007-07-28 7:27 ` Chris Snook
2007-07-28 11:11 ` Al Boldi
2007-07-29 4:07 ` Rik van Riel
2007-07-29 4:07 ` Rik van Riel
2007-07-29 6:40 ` Erblichs
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=46AB6FAF.5030306@shaw.ca \
--to=hancockr@shaw.ca \
--cc=a1426z@gawab.com \
--cc=csnook@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.