Hi, On Wed, 2003-12-31 at 12:12, Martin Diehl wrote: > IIRC I've seen something similar when I tried to push bulk bandwidth to > the limit with usb-uhci (long ago...). It turned out big transfers were > suffering from the FSBR-timeout. About 50 msec after submitting the urb > the HCD assumed the device did much NAKing and thus decided to abandon > FSBR to reduce load on pci. But even with the device never NAKing this was > triggered after 50 msec urb active time - with the ususal 17x64 bytes > transfered per frame this might happen for urb transfer_length 53+ KiB. > > However this case doesn't look exactly the same, because 128 KiB are still > faster than 64 KiB and for larger transfers the observed throughput is > still significantly better than what one expects with 50msec FSBR-timeout. > > OTOH it seems uhci-hcd uses some better heuristics wrt. when to check > whether the urb timed out and how to go on then (DEPTH_INTERVAL). So I'm > not sure whether uhci-hcd FSBR timeout handling might explain the observed > results. Increasing FSBR_DELAY should tell.
I increased FSBR_DELAY in uhci-hcd.c and ran my program again (and expected to get a lower throughput than before, as I thought increasing the "DELAY" value would mean to delay some action thereby reducing the throughput, but:) I got the following results: with FSBR_DELAY set to (HZ / 5) I get: blocksize: 131072, count: 8 speed: 904.837 [kB/s] blocksize: 262144, count: 4 speed: 927.345 [kB/s] blocksize: 524288, count: 2 speed: 145.586 [kB/s] with FSBR_DELAY set to (HZ / 2) I get: blocksize: 131072, count: 8 speed: 899.026 [kB/s] blocksize: 262144, count: 4 speed: 919.129 [kB/s] blocksize: 524288, count: 2 speed: 914.129 [kB/s] So it looks like the FSBR_DELAY has to be longer or about the same duration than the URB completion takes. Do I have to expect any disadvantages of this solution? Why was the FSBR_DELAY set to 50ms in the first place, is this some USB standard definition? Would it be wise to incorporate this patch into the official kernel or would you still advise me to use the "double buffer URB" technique? Thanks, Axel. ------------------------------------------------------- This SF.net email is sponsored by: IBM Linux Tutorials. Become an expert in LINUX or just sharpen your skills. Sign up for IBM's Free Linux Tutorials. Learn everything from the bash shell to sys admin. Click now! http://ads.osdn.com/?ad_id=1278&alloc_id=3371&op=click _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel