[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <C72DEB015BA7724783363DE1AF6B0F980510C8BB@orsmsx417.amr.corp.intel.com>
Date: Thu, 26 Jun 2008 09:43:51 -0700
From: "Perez-Gonzalez, Inaky" <inaky.perez-gonzalez@...el.com>
To: "Alan Stern" <stern@...land.harvard.edu>
Cc: "David Vrabel" <david.vrabel@....com>,
"Kernel development list" <linux-kernel@...r.kernel.org>,
"AntonioLin" <antonio.lin@...ormicro.com>,
<linux-usb@...r.kernel.org>, <inaky@...ux.intel.com>
Subject: RE: Scatter-gather list constraints
>From: Alan Stern [mailto:stern@...land.harvard.edu]
>
>> >> I suppose we could add a field to struct urb and add a flag
>> indicating
>> >> whether the controller driver supports S-G lists.
>> >
>> >This is what I was thinking.
>>
>> That would simplify a *LOT* of WUSB wire-adapter code which now is a
>> horrible kludge.
>
>In what way would it simplify the code?
>
>Note that usbcore already contains a scatter-gather library.
>(Unfortunately the library is limited in usefulness because it needs to
>run in process context.)
>
>Alan Stern
For WA, when we get a buffer to be sent from a URB, it has to be split
in chunks, each chunk has a header added. So we end up with a list of
chunks, most of them quite small. Each requires a single URB to send.
resources galore.
If we could queue all those, the overhead would be reduced to allocating
the headers (possibly in a continuous array) and the sg "descriptors"
to describe the whole thing.
However, the alignment stuff somebody mentioned in another email in this
thread might cause problems.
At the end it might not be all that doable (I might be missing some
subtle isssues), but it is well worth a look.
>Note that usbcore already contains a scatter-gather library.
>(Unfortunately the library is limited in usefulness because it needs to
>run in process context.)
And the overhead of one URB per sg "node" kills it's usability for
WAs.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists