Receive window auto tuning and compound tcp, Interrupt coalescing – Dell Emulex Family of Adapters User Manual
Page 660

Emulex Drivers for Windows User Manual
P010077-01A Rev. A
3. Configuration
NIC Driver Configuration
660
Enabling certain Windows networking features, such as network bridging, VPN, and
routing, may cause the operating system to enable IP NAT services and the IPSEC
policy agent. These services, if enabled, disallow connections from being offloaded to
the adapter. To disable these functions, use the Services Control panel, or the following
commands at the command line prompt:
net stop accesspolicy
net stop sharedaccess
net stop ipnat
Windows TCP Parameters
Emulex does not recommend modifying the TCP registry parameters, such as
TcpAckFrequency, provided by Microsoft. The default parameters are suitable for a
wide variety of situations, with or without using TCP offloading.
Receive Window Auto Tuning and Compound TCP
Windows Server adds several features to the host TCP stack, such as receive window
auto-tuning and CTCP. These features affect only non-offloaded TCP traffic.
Performance of some 10 Gb/s stress applications may suffer with these features
enabled. In particular, Emulex has seen some bi-directional data stream test
performance degradation when receive window auto-tuning is enabled. This is due to
increased receive performance that adversely affects the same TCP connection's
transmit performance.
To disable these features, type these commands at the command line prompt:
netsh interface tcp set global autotuning=disabled
netsh interface tcp set global congestionprovider=none
Interrupt Coalescing
The Windows Server network driver automatically performs adaptive interrupt
coalescing. During periods of low network usage, the interrupt delay is set to a
minimum for lower latency. As the interrupt rate increases, the delay is increased. This
allows the driver to perform more work in a single interrupt, which reduces the
amount of wasted cycles from additional interrupts.
The interrupt coalescing algorithm automatically tunes the system to maintain
responsiveness and performance in a wide variety of situations, including RSS and
TOE traffic.
On slower machines, excessive interrupts cause user input to become non-responsive,
and they may not allow sufficient CPU cycles for higher level drivers (such as Microsoft
iSCSI Initiator) and applications. This may result in timeouts in upper layer
applications, because they are never scheduled to run. Increasing the level of interrupt
coalescing can alleviate these issues. Increasing interrupt coalescing may improve total
bandwidth for applications that transfer large data buffers. Additionally, servers
running numerous parallel TCP connections may benefit from higher interrupt
coalescing.