Re: [Patch] Increase USBFS Bulk Transfer size

Alan Stern
2011-11-07T19:12:19Z

On Mon, 7 Nov 2011, Sarah Sharp wrote:

> On Fri, Oct 14, 2011 at 08:33:29AM -0600, Greg KH wrote:
> > On Fri, Oct 14, 2011 at 10:05:41AM -0400, Alan Stern wrote:
> > > No, a much better approach is to remove all limits on individual
> > > transfer sizes and instead have a global limit on the total amount of
> > > all usbfs buffers in use at any time. Maybe something like 16 MB; at
> > > SuperSpeed, that's about about 30 ms worth of data.
> >
> > That sounds quite reasonable.
>
> Alan, won't this global limit on the usbfs URB buffer size effect
> userspace drivers that are currently allocating large amounts of
> buffers, but still respecting individual buffer limit of 16KB? It seems
> like the patch has the potential to break userspace drivers.

It might indeed. A further enhancement would replace that 16-MB global
constant with a sysfs attribute (a writable module parameter for
usbcore). Do you have any better suggestions?

> I think that Point Grey's USB 3.0 webcam will be attempting to queue a
> series of bulk URBs that will be bigger than your 16MB global limit.

For SuperSpeed, 16 MB is rather on the low side. For high speed it
amounts to about 1/3-second worth of data, which arguably is also a bit
low. Increasing the default is easy enough, but the best choice isn't
obvious.

Alan Stern