OT: PC Gigabit Throughput Question

Dave Johnson dave-gnhlug at davej.org
Sat Jun 16 11:44:25 EDT 2007


Most have already covered the PCI 33/32 bandwidth limits (avoid PCI
33/32 if you can). Integrated into the chipset, PCIX bus (faster but
still shared), or PCIe (dedicated) will solve the bandwidth problems.

Just about any PCIX/PCIe/Integrated MAC will give you 100% gigabit
full duplex line rate provided the driver and memory controller can
keep up.

Look for a useful TOE/TSO/GSO hardware engine as well as hardware
TCP/UDP checksumming on both RX and TX.

Hardware checksumming will reduce the cpu power requirements
dramatically, a segment engine will reduce the number of packets and
give you the equivelant of jumbo frames (from the driver's point of
view) without actually using jumbo frames on the network .

Which brings me to the next point.  A bad driver will make a huge
difference and may be a limiting factor especially at >500mbps.

A good driver will make use of NAPI for overload conditions, and
interrupt coalescing for moderate load conditions.

A segment engine isn't likely on a PCI33/32 MAC, but some do have
checksumming.

One other neat feature I've seen on nvidia integrated MACs is it makes
use of MSI-X to offer 3 different interrupts for each MAC.  One for TX
service, one for RX service, and the 3rd for phy events.  This allows
the driver to have completely separate RX/TX/misc code paths.
Very cool.

Anyway, I'd recommend Intel (e1000) or Broadcom (tg3, bnx2) MACs.

-- 
Dave



More information about the gnhlug-discuss mailing list