[Bloat] USB Ethernet Adapters with BQL?

Dave Taht dave.taht at gmail.com
Fri Jun 17 23:40:51 EDT 2016


most usb network adaptors tend to use the "usbnet" infrastructure,
which tries to minimize interrupts, but
also tends towards trying to only keep 5ms or so of data "in flight",
so leveraging fq_codel on top of a usb ethernet device at the qdisc
layer tends to show a small, but measurable benefit, at 100 mbit or a
gbit.

We tend to run out of speed of the bus on usb2 for gbit.

this is not quite true on slow things like the raspberry pi1, where we
run out of cpu first.

somewhere around here I have benchmarks of this sort of usb stuff on
various platforms, but in the end the results were reasonable enough
(latency/jitter less than 20ms typically) for me to not stress out
about it.

Please feel free to try a comparison between pfifo_fast and fq_codel
on top of a given usb-ethernet device.

...

the infrastructure for usb 3G modems is a whole other ball of wax. It
is a more or less mandated part
of the standards that at least 32k exist on the other side of the
device and the underlying code was pretty overbuffered too (and 3G can
get well below a mbit on uploads).... I have longed for something
bql-like there.

usb-wifi also tends towards utterly horrific.

...

I also am using usb "gadget ethernet" drivers with some success on the
getchip and beaglebone, with
mildly better results for fq_codel over pfifo_fast. The getchip does
not have fq_codel yet, however, and they had a bit of trouble getting
the combined cdc/serial ethernet gadget to work on their latest kernel
release.

(aside from being in a losing battle currently with systemd on device
renaming - usb gadget ethernet works great with openwrt).


More information about the Bloat mailing list