[ previous ] [ next ] [ threads ]
 From:  "James L. Lauser" <james at jlauser dot net>
 To:  m0n0wall at lists dot m0n0 dot ch
 Subject:  em driver performance
 Date:  Sun, 01 May 2011 16:28:11 -0400

I have a m0n0wall system configured with a Pentium III 933 MHz CPU and 
three network interfaces (Intel Pro/100 (fxp driver) for the WAN, and a 
dual-interface Pro/1000 (em driver) for the LAN and DMZ).  When 
transferring data between the LAN and DMZ subnets, I'm seeing somewhat 
odd performance.

With polling _OFF_, I can move about 200 Mbits/sec (clocked with iperf) 
between subnets before pegging the CPU.  This is not completely 
unexpected.  When I turn polling on, however, throughput DROPS to about 
140 Mbits/sec, with CPU topping out at about 60%.

For a point of comparison, if I go to exec.php and run 'sysctl 
kern.polling.idle_poll=1' with polling enabled, throughput increases 
back up to 200 Mbits/sec, but leaving this setting on is undesirable, as 
CPU utilization is pegged at 100% all the time, which results in a 
significant increase in power consumption and heat generation.

Has anyone else seen performance like this, and if so, and suggestions 
on improving it?  Thanks.
-- James L. Lauser
    james at jlauser dot net