Hi, > -----Original Message----- > From: linux-usb-owner@xxxxxxxxxxxxxxx [mailto:linux-usb- > owner@xxxxxxxxxxxxxxx] On Behalf Of Felipe Balbi > Sent: Tuesday, May 11, 2010 11:58 AM > To: linux-usb@xxxxxxxxxxxxxxx > Subject: squeezing more transfers into one uframe > > Hi all, > > I'm trying to optimize the MUSB driver as much as I can and I believe I > got to its limit. Currently I'm getting: > > with my test application which simply bounces 1GB of data to device. I > have no NAKs, no PINGs and no NYETs but each bulk out transaction is > taking 15us which allows me to squeeze only 8 transactions per-uframe. You can reduce this timing by changing the minimum time gap that is to be allowed between the start of the last transaction and the EOF for High-speed transactions at HS_EOF1 (mentor offset 0x7C) register. -Ajay > Ideally I would be able to have a bulk out transaction on every 10us > which would allow to squeeze up to 11 ~ 12 transactions per-uframe > allowing me to get 44 ~ 60 MB/sec. > > I know 60MB/sec is basically impossible due to HW limitations but > 44MB/sec (with 11 transactions per-uframe) is pretty much doable. Where > should I look into the USB subsystem to try to optimize that ? > > BTW, my application uses async API of libusb and queues 4 1MB bulk > out transfers before starting to send data, then it keeps on re-queueing > those URBs until I have reached 1GB of transferred data. Sniffer tells > me how many transactions I put on a uframe. > > -- > balbi > > DefectiveByDesign.org > -- > 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 -- 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