Re: USB Serial constantly polling

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

 



On Sun, Feb 23, 2014 at 06:27:17AM +0000, Luke-Jr wrote:
> If I understand the USB Serial code correctly, at least open devices are 
> constantly polled by 2 active URBs replaced immediately upon completion, 
> except when the tty layer throttles them.

It depends on the specific driver, what one are you referring to?

And this is the way that the USB protocol works, a device can not send
data to the host unless it is asked for it.  So the host always has to
ask for it.

> With many of these devices, this creates significant USB bandwidth usage. At 
> least one report found that it starts creating practical problems after 12 
> devices (on a BeagleBone), while adding a delay allows up to 60.

That sounds like a bug in the BeagleBone USB host hardware.  It's as if
people didn't learn the problems of the UHCI controller from the 1990's,
which had the same issue :)

> Is there any reason not to have some small delay (perhaps user-configurable) 
> between URB requests, at least while the device is not actively receiving 
> data? If a patch is needed to implement this, what would be the recommended 
> approach for a kernel complete-newbie?

I bet the same thing happens if you plug in 12 keyboards.  This isn't a
USB driver problem, but rather an issue with the hardware used in the
BeagleBone USB host controller.  Maybe it just can't handle more than 12
devices plugged into it due to memory / slicon limitations.

Note, the rpi also has the same issue, if you plug in a single USB
keyboard, you used to loose 30% of your CPU.  I hope that issue has been
resolved, but it wasn't going to be easy given the hardware chosen in
that device.

good luck,

greg k-h
--
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