On Sat, May 01, 2010 at 04:29:56PM -0400, Alan Stern wrote: > By golly, you're right. It was an unintended side effect. I hadn't > considered drivers directly submitting requests in this way. I thought > you meant you had set sg_tablesize to 1 in uhci-hcd and ohci-hcd. Ahhhh! Thanks for explaining. > You're right that the performance hit will be less with UAS than with > BOT, but it might still be larger than one would like. It all depends > on how the speed of the device compares to the speed of the USB bus. > If the bus speed is the bottleneck then adding extra transfers will > slow things down, otherwise it won't (or at least, not as much). Yup. It's probably also more overhead on the host side. As we've discussed before, most UAS devices probably still do BOT on a different interface configuration, and I'm quite happy for usb-storage to outperform uas in these circumstances. > > As far as an asynchronous version of usb_sg_* ... I don't really see the > > advantage to doing that over improving the usb_submit_urb() support for > > sg lists. > > So now that we're both on the same page... What improved support do > you mean? Only what I've done so far -- making it possible for a driver to directly populate urb->sg and send it down without using the usb_sg_wait() interface. The patch you did to EHCI (as1300 / commit 40f8db8f8f) does look quite straightforward to port to the uhci-q.c and ohci-q.c file. On the one hand, that's a good thing, because I can just do that (er, if I can figure out a way to test either of them). On the other hand, it's not taking advantage of EHCI's native ability to do scatter-gather in a single qtd if the pages are virtually contiguous (see pages 86-88 of the EHCI 1.0 spec). So EHCI could be further enhanced ... if it's worth it. -- Matthew Wilcox Intel Open Source Technology Centre "Bill, look, we understand that you're interested in selling us this operating system, but compare it to ours. We can't possibly take such a retrograde step." -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html