CFT: axe(4) performance patch
pyunyh at gmail.com
Mon Sep 14 20:01:36 UTC 2009
I submitted axe(4) performance patch to Hans and he committed the
patch to P4.
The patch fixes two issues, lots of Rx errors seen under high
network load and poor Rx performance. The Rx error was introduced
in new USB stack conversion and it was not spotted until this time.
For better Rx performance, the patch increases Rx maximum burst
size to 16384 from 2048 for AX88178 and AX88772. Now I can see
dramatic Rx performance boost from 50Mbps to 220Mbps on AX88178.
AX88178 data sheet clearly indicates the default burst size is
16384 for maximum performance. But I don't know whether it breaks
AX88772 fast ethernet controller. Now vendor's site requires valid
account to download AX88772 data sheet so I can't verify that. If
you have AX88772 or AX88178 please give it try and let us know how
Since all USB ethernet controllers are poorly designed to save
money and ASIX USB ether controller requires copy operation for
every received frames(actually it's much much worse than rl(4)
hardwares), you should have fast system to achieve maximum speed.
I see constant Rx 220Mbps for various packet sizes(from 64 bytes to
MTU sized bytes) on my 2.8GHz C2D. I don't know 220Mbps is the
maximum speed the controller can achieve but I never seen these
numbers on any USB ethernet drivers on FreeBSD.
More information about the freebsd-usb