WM(4) Device Drivers Manual WM(4)

NAME

wmIntel i8254x Gigabit Ethernet driver

SYNOPSIS

wm* at pci? dev ? function ?

options WM_RX_PROCESS_LIMIT_DEFAULT
options WM_RX_INTR_PROCESS_LIMIT_DEFAULT
Configuration of PHYs may also be necessary. See mii(4).

DESCRIPTION

The wm device driver supports Gigabit Ethernet interfaces based on the Intel i8254x family of Gigabit Ethernet chips. The interfaces supported by the wm driver include:
In addition to Intel's own “PRO/1000” line of Gigabit Ethernet interfaces, these chips also appear on some server systems, processor evaluation boards, and in embedded systems.
The i825[478]x supports IPv4/TCP/UDP checksumming and TCP segmentation in hardware. The wm driver supports these features of the chip. See ifconfig(8) for information on how to enable this feature.

OPTIONS

 
 
WM_RX_PROCESS_LIMIT_DEFAULT
The maximum number of received packets processed in each softint(9) context. This option only affects multiqueue. The value range is from zero to UINT_MAX. The default value is 100. When you increase this value, both the receive latency and the receive throughput will increase.
 
 
WM_TX_PROCESS_LIMIT_DEFAULT
Transmit side of WM_RX_PROCESS_LIMIT_DEFAULT.
 
 
WM_RX_INTR_PROCESS_LIMIT_DEFAULT
The maximum number of received packets processed in each hardware interrupt context. This option only affects multiqueue. The value range is from zero to UINT_MAX. The default value is 0. When you increase this value, both the receive latency and the receive throughput will decrease.
 
 
WM_TX_INTR_PROCESS_LIMIT_DEFAULT
Transmit side of WM_RX_INTR_PROCESS_LIMIT_DEFAULT.
 
 
WM_EVENT_COUNTERS
Enable many event counters such as each Tx drop counter and Rx interrupt counter. Caution: If this flag is enabled, the number of evcnt entries increase very much.
 
 
WM_DISABLE_MSI
If this option is set non-zero value, this driver does not use msi. The default value is 0.
 
 
WM_DISABLE_MSIX
If this option is set non-zero value, this driver does not use msix. The default value is 0.
Setting WM_RX_INTR_PROCESS_LIMIT_DEFAULT to zero means so-called polling mode, that is, once an interrupt occurs, the driver keep processing received packets until WM_RX_PROCESS_LIMIT_DEFAULT. Polling mode increases latency a little, however it suppresses performance degradation at high load very well.
If you want to disable polling mode (to use traditional interrupt driven mode), you should set WM_RX_PROCESS_LIMIT_DEFAULT to zero and set WM_RX_INTR_PROCESS_LIMIT_DEFAULT to UINT_MAX.

SEE ALSO

arp(4), ifmedia(4), mii(4), netintro(4), pci(4), ifconfig(8)

HISTORY

The wm driver first appeared in NetBSD 1.6.

AUTHORS

The wm driver was written by Jason R. Thorpe <thorpej@wasabisystems.com>.

BUGS

EEE (Energy Efficiency Ethernet) is not currently supported.
April 13, 2018 NetBSD 8.1