One day me and my roommate had some fun spamming eachother with icmp
ping packets. FreeBSD vs Arch(?)Linux.
Me, that is, my FreeBSD installation managed to spam ~50000 packets per
second towards the him, the Linux distro, with a packet loss ratio of
~0%. (If I remember correctly:) During sending, I used around 35% CPU
(that's what top showed; note: I had HT enabled), while he had neligible
(~3%) CPU usage. In the other ping direction, I was suffering from 20%
CPU usage (most of which was in top's interrupt counter) while receiving
unknown* amount of packets per second, and packet loss was >95% [I
sysctl'd the icmp reply limit to 999999999], even though he was yet
again using neligible CPU percentage.
*First he just ran "ping -i0" (per-line printing enabled) which gave
3000 packets per second, maybe because of his slow X terminal. I replied
to that well (~100%). Then he silenced the verbosity and set some
buffering(?) for the packets. That was the actual test.
So what does this mean? Does it mean that the FreeBSD kernel sucks at
working on spam efficiently, or is it netcard specific and the card
basically "steals" the CPU time? And is it possible that the Linux
distro had "internal packet loss", so it wasn't FreeBSD who was
sluggish? If so, I kindly ask for instruction on how to get the
incoming&outgoing packet count or other net stats.