
Issue 11
© Solarflare Communications 2014
80
Solarflare Server Adapter
User Guide
Tuning settings
Adapter MTU (Maximum Transmission Unit)
The default MTU of 1500 bytes ensures that the adapter is compatible with legacy 10/100Mbps
Ethernet endpoints. However if a larger MTU is used, adapter throughput and CPU utilization can be
improved. CPU utilization is improved because it takes fewer packets to send and receive the same
amount of data. Solarflare adapters support frame sizes up to 9216 bytes (this does not include the
Ethernet preamble or frame-CRC).
Since the MTU should ideally be matched across all endpoints in the same LAN (VLAN), and since the
LAN switch infrastructure must be able to forward such packets, the decision to deploy a larger than
default MTU requires careful consideration. It is recommended that experimentation with MTU be
done in a controlled test environment.
The MTU is changed dynamically using ifconfig, where
ethX
is the interface name and size is the
MTU size in bytes:
# /sbin/ifconfig <ethX> mtu <size>
Verification of the MTU setting may be performed by running
ifconfig
with no options and
checking the MTU value associated with the interface. The change in MTU size can be made to
persist across reboots by editing the file
/etc/sysconfig/network-scripts/ifcfg-ethX
and adding
MTU=<mtu>
on a new line.
Interrupt Moderation (Interrupt Coalescing)
Interrupt moderation controls the number of interrupts generated by the adapter by adjusting the
extent to which receive packet processing events are coalesced. Interrupt moderation may coalesce
more than one packet-reception or transmit-completion event into a single interrupt.
By default, adaptive moderation is enabled. Adaptive moderation means that the network driver
software adapts the interrupt moderation setting according to the traffic and workload conditions.
Before adjusting the interrupt interval, it is recommended to disable adaptive moderation:
ethtool -C <ethX> adaptive-rx off
Interrupt moderation can be changed using ethtool, where
ethX
is the interface name and
interval
is the moderation setting in microseconds (
μ
s). An interval value of zero (0) will turn
interrupt moderation off.
To set RX interrupt moderation:
ethtool –C <ethX> rx-usecs <interval> rx-frames 0
or
ethtool –C <ethX> rx-usecs 0 rx-frames 1
The above example also sets the transmit interrupt moderation interval unless the driver module
parameter
separate_tx_channels
is enabled. Normally packet RX and TX completions will share
interrupts so RX and TX interrupt moderation intervals must be equal, then the adapter driver
automatically adjusts tx-usecs to match rx-usecs. Refer to