squeezing more transfers into one uframe

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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. 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

[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux