mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
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

  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®