On Tue, Sep 18, 2001 at 01:20:37PM -0700, David Brownell wrote:
> > > So... has anyone thought about what it would take for Linux to support a
> > > single URB with multiple scatter-gather elements?
> > > 
> > > AFAIK, an URB needs a single continuous memory block for a transfer.  It
> > > would be nice if we could use scatter-gather instead.
> > > 
> > > Any thoughts?
> 
> Shouldn't request queuing be able to solve that problem?  Just
> create one URB per s/g segment (e.g. from the SCSI layer),
> queue, and be done.  It's just a question of which level you
> do the s/g at ... I'd rather keep it out of usbcore, that's quite
> complex enough as it is!!

Ahh... but there is a difference between 1 URB for 128 bytes and 2 URBs for
64 bytes each.  Think of the short-packet scenarios... what I want is
really the behavior of a single URB.  I could just submit URBs one at a
time (like I do now), but I'm guessing that if the core understood
scatter-gather, it would (a) give me the behavior I want, (b) be fast, and
(c) be clearer code at the higher levels.

Making sure all scatter buffers are multiples of endpoint size isn't an
issue for me... and it seems like a trivial restriction to place on the
interface.

Matt

-- 
Matthew Dharm                              Home: [EMAIL PROTECTED] 
Maintainer, Linux USB Mass Storage Driver

What, are you one of those Microsoft-bashing Linux freaks?
                                        -- Customer to Greg
User Friendly, 2/10/1999

PGP signature

Reply via email to