Intel Ethernet X520 10GbE Dual Port KX4 Mezz User Manual page 80

Table of Contents

Advertisement

Multiqueue
In this mode, a separate MSI-X vector is allocated for each queue and one for "other" interrupts such as link status
change and errors. All interrupts are throttled via interrupt moderation. Interrupt moderation must be used to avoid inter-
rupt storms while the driver is processing one interrupt. The moderation value should be at least as large as the expec-
ted time for the driver to process an interrupt. Multiqueue is off by default.
MSI-X support is required for Multiqueue. If MSI-X is not found, the system will fallback to MSI or to Legacy interrupts.
This driver supports multiqueue in kernel versions 2.6.24 and greater and supports receive multiqueue on all kernels
supporting MSI-X.
NOTES:
Do not use MSI-X with the 2.6.19 or 2.6.20 kernels. It is recommended to use the 2.6.21 or later ker-
l
nel.
Some kernels require a reboot to switch between single queue mode and multiqueue modes or
l
vice-versa.
Large Receive Offload (LRO)
Large Receive Offload (LRO) is a technique for increasing inbound throughput of high-bandwidth network connections
by reducing CPU overhead. It works by aggregating multiple incoming packets from a single stream into a larger buffer
before they are passed higher up the networking stack, thus reducing the number of packets that have to be processed.
LRO combines multiple Ethernet frames into a single receive in the stack, thereby potentially decreasing CPU util-
ization for receives.
NOTE: LRO requires 2.6.22 or later kernel version.
IGB_LRO is a compile time flag. It can be enabled at compile time to add support for LRO from the driver. The flag is
used by adding CFLAGS_EXTRA="-DIGB_LRO" to the make file when it is being compiled. For example:
# make CFLAGS_EXTRA="-DIGB_LRO" install
You can verify that the driver is using LRO by looking at these counters in ethtool:
lro_aggregated - count of total packets that were combined
l
lro_flushed - counts the number of packets flushed out of LRO
l
lro_no_desc - counts the number of times an LRO descriptor was not available for the LRO packet
l
NOTE: IPv6 and UDP are not supported by LRO.
IEEE 1588 Precision Time Protocol (PTP) Hardware Clock (PHC)
Precision Time Protocol (PTP) is an implementation of the IEEE 1588 specification allowing network cards to syn-
chronize their clocks over a PTP-enabled network. It works through a series of synchronization and delay notification
transactions that allow a software daemon to implement a PID controller to synchronize the network card clocks.
NOTE: PTP requires a 3.0.0 or later kernel version with PTP support enabled in the kernel and a user-space soft-
ware daemon.
IGB_PTP is a compile time flag. The user can enable it at compile time to add support for PTP from the driver. The flag
is used by adding CFLAGS_EXTRA="-DIGB_PTP" to the make file when it's being compiled:
make CFLAGS_EXTRA="-DIGB_PTP" install
NOTE: The driver will fail to compile if your kernel does not support PTP.
You can verify that the driver is using PTP by looking at the system log to see whether a PHC was attempted to be
registered or not. If you have a kernel and version of ethtool with PTP support, you can check the PTP support in the
driver by executing:
ethtool -T ethX

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents