From: Ingo Oeser <ingo.oeser@informatik.tu-chemnitz.de>
To: Andrew Morton <akpm@zip.com.au>
Cc: Douglas Gilbert <dougg@torque.net>, linux-kernel@vger.kernel.org
Subject: Re: direct-to-BIO for O_DIRECT
Date: Thu, 11 Jul 2002 19:28:48 +0200 [thread overview]
Message-ID: <20020711192848.A793@nightmaster.csn.tu-chemnitz.de> (raw)
In-Reply-To: <3D2A6608.7C43EE3@zip.com.au>; from akpm@zip.com.au on Mon, Jul 08, 2002 at 09:26:48PM -0700
On Mon, Jul 08, 2002 at 09:26:48PM -0700, Andrew Morton wrote:
> Ben had lightweight sg structures called `kvecs' and `kveclets'. And
> library functions to map pages into them. And code to attach them
> to BIOs. So we'll be looking at getting that happening.
Ok, I've looked at them and they don't help me at all.
A user, who splits its IO into single pages, wants to do DMA and
needs bus addresses for that. So he needs "struct scatterlist".
If one doesn't need to DMA, one can do copy_{from,to}_user
directly with an immediate buffer, so the splitup isn't needed.
For this I conclude, that using the EXISTING 'struct scatterlist'
will be enough for both. Attaching a vector of these to the BIOs
is no problem. Neither it is for CHARACTER device IOs (CIOs).
So by using this simple abstraction we MIGHT waste only 4-8 bytes
per page submitted, but by page-splitting the IO only for devices,
that need DMA (e.g. make the request that explicitly) we don't
really waste it and support BIOs and CIOs the same way.
I will refine that code for my own uses anyway, so if nobody with
more clues about IO than me implements it, I will submit it
later.
Regards
Ingo Oeser
--
Science is what we can tell a computer. Art is everything else. --- D.E.Knuth
next prev parent reply other threads:[~2002-07-11 17:27 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-07-09 3:57 Douglas Gilbert
2002-07-09 4:26 ` Andrew Morton
2002-07-09 8:16 ` Ingo Oeser
2002-07-11 17:28 ` Ingo Oeser [this message]
2002-07-11 20:43 ` Daniel Phillips
-- strict thread matches above, loose matches on Subject: below --
2002-07-11 6:09 Adam J. Richter
[not found] <3D2904C5.53E38ED4@zip.com.au.suse.lists.linux.kernel>
2002-07-08 7:26 ` Andi Kleen
2002-07-08 9:19 ` Suparna Bhattacharya
2002-07-08 15:03 ` Matt D. Robinson
2002-07-08 3:19 Andrew Morton
2002-07-08 3:30 ` Lincoln Dale
2002-07-08 7:44 ` Ingo Oeser
2002-07-11 2:25 ` Lincoln Dale
2002-07-11 3:24 ` Andrew Morton
2002-07-11 3:25 ` Lincoln Dale
2002-07-11 19:52 ` Jesse Barnes
2002-07-11 23:40 ` Lincoln Dale
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=20020711192848.A793@nightmaster.csn.tu-chemnitz.de \
--to=ingo.oeser@informatik.tu-chemnitz.de \
--cc=akpm@zip.com.au \
--cc=dougg@torque.net \
--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
all inboxes | Powered by JetHome®