> I'm working on increasing the performance of our firewalls, > we picked up > two of the newer v2 syskonnect cards for testing, I was > getting pretty > low performance from the bridge so I started testing things > using a card > as an endpoint. > > I was using Iperf to generate packets, but to make sure it > wasn't iperf > causing a problem, I also did some quick tests with ping -f > which exhibit > much the same behavior. > > 192.168.0.7 is an OpenBSD host running 3.7, fresh install, with the > network configured. > 192.168.0.5 is a linux host used in this test. > > If I run some udp packets, 1mbps with the bsd box receiving > no problems. But transmitting 1mbps stream eats up the CPU.
While testing with iperf I noticed it eats the CPU (sys and usr) when running UDP tests but not with TCP ones. I suggest you try monitoring CPU int usage instead of overall CPU usage. > > When increasing to higher levels of traffic RX performance > seems to get affected also, the cpu activity becomes very bursty. > I'm still trying to characterize that a bit better. <snip> > iostat 1 > ----------- > 5 136 0.00 0 0.00 0.00 0 0.00 0 0 0 0100 > 7 137 0.00 0 0.00 0.00 0 0.00 1 0 0 0 99 > 4 135 0.00 0 0.00 0.00 0 0.00 0 0 0 0100 > 3 447 0.00 0 0.00 0.00 0 0.00 12 0 21 0 67 > 0 1103 0.00 0 0.00 0.00 0 0.00 33 0 67 0 0 > 0 131 0.00 0 0.00 0.00 0 0.00 33 0 67 0 0 > 0 131 0.00 0 0.00 0.00 0 0.00 36 0 64 0 0 > tty wd0 cd0 cpu > tin tout KB/t t/s MB/s KB/t t/s MB/s us ni sy in id > 0 131 0.00 0 0.00 0.00 0 0.00 31 0 69 0 0 > 0 244 0.00 0 0.00 0.00 0 0.00 29 0 71 0 0 > 0 259 0.00 0 0.00 0.00 0 0.00 31 0 69 0 0 > 0 131 0.00 0 0.00 0.00 0 0.00 29 0 71 0 0 > 0 130 0.00 0 0.00 0.00 0 0.00 30 0 70 0 0 > 0 131 0.00 0 0.00 0.00 0 0.00 36 0 64 0 0 > 0 354 0.00 0 0.00 0.00 0 0.00 22 0 38 0 40 I don't know if CPU int usage data for iostat is accurate or not, but your CPU shows 0% int usage. It's probably iperf eating the rest and your NIC may be idleing. Push some more udp mbps and see if the NIC can take it.