I’ve always been skeptical of USB ethernet adapters. An old 10Mb adapter I have in my junk box can barely do 1Mb. I have in my hands a D-Link DUB-E100 adapter. It’s supposed to be able to do 100Mb. I was really expecting to expose the sham that is 100Mbit USB Ethernet adapters. Fortunately, I was very wrong and this device works perfectly. There was no appreciable increase in CPU usage in any scenario. Using mpstat, the %irq column essentially stayed at zero for all tests while using the D-Link.
$ lsusb | grep D-Link
Bus 001 Device 016: ID 2001:3c05 D-Link Corp. [hex] DUB-E100 Fast Ethernet [asix]
$ dmesg | grep eth2
[22867.448692] eth2: register 'asix' at usb-0000:00:1d.7-4, ASIX AX88772 USB 2.0 Ethernet