[Cerowrt-devel] debloating the Pi, maybe not.

Dave Taht dave.taht at gmail.com
Fri Nov 23 11:43:24 EST 2012

I was donated a raspberry pi in cambridge and got it booted today.
It's a very cool
box, an arm6, running debian, with hard floating point, and getting a complete
development environment running, getting it to do mesh networking,
graphics, apache, etc, on a 16GB SD card, was a breeze.

But as for network performance:

It only comes up at 100Mbit, and as noted elsewhere the ethernet chip
is hooked up over USB.


[3.078644] smsc95xx 1-1.1:1.0: eth0: register 'smsc95xx' at
usb-bcm2708_usb-1.1, smsc95xx USB 2.0 Ethernet, b8:27:eb:18:fc:ac

The best the 3.2 kernel based networking can do is about 75Mbit/sec.
This eats 68% of cpu in the "system" (sy in top) and 30% in si (system

I had had some hope of this being a good box to put some test tools on,
but with performance like this, I am back to leveraging the mips stuff.

That said, I do intend to poke at the driver and update to 3.6 when
I get a chance, since we have patches lying around for both this
chip and the usbnet code.

It does indeed bloat up under load, but not badly.

64 bytes from seq=49 ttl=64 time=0.625 ms

64 bytes from seq=0 ttl=64 time=4.184 ms
64 bytes from seq=1 ttl=64 time=3.421 ms
64 bytes from seq=2 ttl=64 time=5.707 ms
64 bytes from seq=3 ttl=64 time=2.843 ms
64 bytes from seq=4 ttl=64 time=6.142 ms
64 bytes from seq=5 ttl=64 time=6.026 ms
64 bytes from seq=6 ttl=64 time=2.373 ms
64 bytes from seq=7 ttl=64 time=13.746 ms
64 bytes from seq=8 ttl=64 time=3.296 ms
64 bytes from seq=9 ttl=64 time=0.699 ms
64 bytes from seq=10 ttl=64 time=2.948 ms
64 bytes from seq=11 ttl=64 time=12.975 ms
64 bytes from seq=12 ttl=64 time=4.238 ms

Dave Täht

Fixing bufferbloat with cerowrt: http://www.teklibre.com/cerowrt/subscribe.html

More information about the Cerowrt-devel mailing list