From: Benjamin LaHaise <bcrl@kvack.org>
To: Valdis.Kletnieks@vt.edu
Cc: Al Boldi <a1426z@gawab.com>, Robin Holt <holt@sgi.com>,
linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org
Subject: Re: [RFC] VM: I have a dream...
Date: Mon, 23 Jan 2006 14:26:06 -0500 [thread overview]
Message-ID: <20060123192606.GH1008@kvack.org> (raw)
In-Reply-To: <200601231840.k0NIelbp017964@turing-police.cc.vt.edu>
On Mon, Jan 23, 2006 at 01:40:46PM -0500, Valdis.Kletnieks@vt.edu wrote:
> A process does a "read(foo, &buffer, 65536);". buffer is declared as 16
> contiguous 4K pages, none of which are currently in memory. How many pages do
> you have to read in, and at what point do you issue the I/O? (hint - work this
> problem for a device that's likely to return 64K of data, and again for a
> device that has a high chance of only returning 2K of data.....)
Actually, that is something that the vm could optimize out of the picture
entirely -- it is a question of whether it is worth the added complexity
to handle such a case. copy_to_user already takes a slow path when it hits
the page fault (we do a lookup on the exception handler already) and could
test if an entire page is being overwritten, and if so proceed to destroy
the old mapping and use a fresh page from ram.
That said, for the swap case, it probably happens so rarely that the extra
code isn't worth it. glibc is already using mmap() in place of read() for
quite a few apps, so I'm not sure how much low hanging fruit there is left.
If someone has an app that's read() heavy, it is probably easier to convert
it to mmap() -- the exception being pipes and sockets which can't. We need
numbers. =-)
-ben
--
"Ladies and gentlemen, I'm sorry to interrupt, but the police are here
and they've asked us to stop the party." Don't Email: <dont@kvack.org>.
next prev parent reply other threads:[~2006-01-23 19:30 UTC|newest]
Thread overview: 70+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-01-21 18:08 [RFC] VM: I have a dream Al Boldi
2006-01-21 18:42 ` Jamie Lokier
2006-01-21 18:46 ` Avi Kivity
2006-01-23 19:52 ` Bryan Henderson
2006-01-25 22:04 ` Al Boldi
2006-01-26 19:18 ` Bryan Henderson
2006-01-27 16:12 ` Al Boldi
2006-01-27 19:17 ` Bryan Henderson
2006-01-30 13:21 ` Al Boldi
2006-01-30 13:35 ` Kyle Moffett
2006-01-31 15:56 ` Al Boldi
2006-01-31 16:34 ` Kyle Moffett
2006-01-31 23:14 ` Bryan Henderson
2006-01-31 16:34 ` Lennart Sorensen
2006-01-31 19:23 ` Jamie Lokier
2006-02-01 4:06 ` Barry K. Nathan
2006-02-02 15:11 ` Alan Cox
2006-02-02 18:59 ` Al Boldi
2006-02-02 22:33 ` Bryan Henderson
2006-02-03 14:46 ` Alan Cox
2006-01-30 16:49 ` Bryan Henderson
2006-01-26 0:03 ` Jon Smirl
2006-01-26 19:48 ` Bryan Henderson
2006-01-22 8:16 ` Pavel Machek
2006-01-22 12:33 ` Robin Holt
2006-01-23 18:03 ` Al Boldi
2006-01-23 18:40 ` Valdis.Kletnieks
2006-01-23 19:26 ` Benjamin LaHaise [this message]
2006-01-23 19:40 ` Valdis.Kletnieks
2006-01-23 22:26 ` Pavel Machek
2006-01-22 19:55 ` Barry K. Nathan
2006-01-23 5:23 ` Michael Loftis
2006-01-23 5:46 ` Chase Venters
2006-01-23 8:20 ` Barry K. Nathan
2006-01-23 13:17 ` Jamie Lokier
2006-01-23 20:21 ` Peter Chubb
2006-01-23 15:05 ` Ram Gupta
2006-01-23 15:26 ` Diego Calleja
2006-01-23 16:11 ` linux-os (Dick Johnson)
2006-01-23 16:50 ` Jamie Lokier
2006-01-24 2:08 ` Horst von Brand
2006-01-25 6:13 ` Jamie Lokier
2006-01-25 9:23 ` Bernd Petrovitsch
2006-01-25 9:42 ` Lee Revell
2006-01-25 15:02 ` Jamie Lokier
2006-01-25 23:24 ` Lee Revell
2006-01-25 15:05 ` Jamie Lokier
2006-01-25 15:47 ` Bernd Petrovitsch
2006-01-25 16:09 ` Diego Calleja
2006-01-25 17:26 ` Jamie Lokier
2006-01-26 19:13 ` Bryan Henderson
2006-01-25 23:28 ` Lee Revell
2006-01-26 1:29 ` Diego Calleja
2006-01-26 5:01 ` Jamie Lokier
2006-01-26 5:11 ` Lee Revell
2006-01-26 14:46 ` Dave Kleikamp
2006-01-24 2:10 ` Horst von Brand
2006-01-25 22:27 ` Nix
2006-01-26 15:13 ` Denis Vlasenko
2006-01-26 16:23 ` Nix
2006-01-23 20:43 ` Michael Loftis
2006-01-23 22:42 ` Nikita Danilov
2006-01-24 14:36 ` Ram Gupta
2006-01-24 15:04 ` Diego Calleja
2006-01-24 20:59 ` Bryan Henderson
2006-01-24 15:11 ` Nikita Danilov
2006-01-23 22:57 ` Ram Gupta
-- strict thread matches above, loose matches on Subject: below --
2006-02-01 13:58 Al Boldi
2006-02-01 14:38 ` Jamie Lokier
2006-02-02 12:26 ` Al Boldi
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=20060123192606.GH1008@kvack.org \
--to=bcrl@kvack.org \
--cc=Valdis.Kletnieks@vt.edu \
--cc=a1426z@gawab.com \
--cc=holt@sgi.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.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;
as well as URLs for NNTP newsgroup(s).