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

Page 660

Advertising
background image

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.

Advertising