Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Fields
ethtool_coalesce Struct Reference

#include <ethtool.h>

Data Fields

__u32 cmd
 
__u32 rx_coalesce_usecs
 
__u32 rx_max_coalesced_frames
 
__u32 rx_coalesce_usecs_irq
 
__u32 rx_max_coalesced_frames_irq
 
__u32 tx_coalesce_usecs
 
__u32 tx_max_coalesced_frames
 
__u32 tx_coalesce_usecs_irq
 
__u32 tx_max_coalesced_frames_irq
 
__u32 stats_block_coalesce_usecs
 
__u32 use_adaptive_rx_coalesce
 
__u32 use_adaptive_tx_coalesce
 
__u32 pkt_rate_low
 
__u32 rx_coalesce_usecs_low
 
__u32 rx_max_coalesced_frames_low
 
__u32 tx_coalesce_usecs_low
 
__u32 tx_max_coalesced_frames_low
 
__u32 pkt_rate_high
 
__u32 rx_coalesce_usecs_high
 
__u32 rx_max_coalesced_frames_high
 
__u32 tx_coalesce_usecs_high
 
__u32 tx_max_coalesced_frames_high
 
__u32 rate_sample_interval
 

Detailed Description

struct ethtool_coalesce - coalescing parameters for IRQs and stats updates : ETHTOOL_{G,S}COALESCE : How many usecs to delay an RX interrupt after a packet arrives. : Maximum number of packets to receive before an RX interrupt. : Same as , except that this value applies while an IRQ is being serviced by the host. : Same as , except that this value applies while an IRQ is being serviced by the host. : How many usecs to delay a TX interrupt after a packet is sent. : Maximum number of packets to be sent before a TX interrupt. : Same as , except that this value applies while an IRQ is being serviced by the host. : Same as , except that this value applies while an IRQ is being serviced by the host. : How many usecs to delay in-memory statistics block updates. Some drivers do not have an in-memory statistic block, and in such cases this value is ignored. This value must not be zero. : Enable adaptive RX coalescing. : Enable adaptive TX coalescing. : Threshold for low packet rate (packets per second). : How many usecs to delay an RX interrupt after a packet arrives, when the packet rate is below . : Maximum number of packets to be received before an RX interrupt, when the packet rate is below . : How many usecs to delay a TX interrupt after a packet is sent, when the packet rate is below . : Maximum nuumber of packets to be sent before a TX interrupt, when the packet rate is below . : Threshold for high packet rate (packets per second). : How many usecs to delay an RX interrupt after a packet arrives, when the packet rate is above . : Maximum number of packets to be received before an RX interrupt, when the packet rate is above . : How many usecs to delay a TX interrupt after a packet is sent, when the packet rate is above . : Maximum number of packets to be sent before a TX interrupt, when the packet rate is above . : How often to do adaptive coalescing packet rate sampling, measured in seconds. Must not be zero.

Each pair of (usecs, max_frames) fields specifies this exit condition for interrupt coalescing: (usecs > 0 && time_since_first_completion >= usecs) || (max_frames > 0 && completed_frames >= max_frames) It is illegal to set both usecs and max_frames to zero as this would cause interrupts to never be generated. To disable coalescing, set usecs = 0 and max_frames = 1.

Some implementations ignore the value of max_frames and use the condition: time_since_first_completion >= usecs This is deprecated. Drivers for hardware that does not support counting completions should validate that max_frames == !rx_usecs.

Adaptive RX/TX coalescing is an algorithm implemented by some drivers to improve latency under low packet rates and improve throughput under high packet rates. Some drivers only implement one of RX or TX adaptive coalescing. Anything not implemented by the driver causes these values to be silently ignored.

When the packet rate is below but above (both measured in packets per second) the normal {rx,tx}_* coalescing parameters are used.

Definition at line 256 of file ethtool.h.

Field Documentation

Definition at line 257 of file ethtool.h.

__u32 pkt_rate_high

Definition at line 274 of file ethtool.h.

__u32 pkt_rate_low

Definition at line 269 of file ethtool.h.

__u32 rate_sample_interval

Definition at line 279 of file ethtool.h.

__u32 rx_coalesce_usecs

Definition at line 258 of file ethtool.h.

__u32 rx_coalesce_usecs_high

Definition at line 275 of file ethtool.h.

__u32 rx_coalesce_usecs_irq

Definition at line 260 of file ethtool.h.

__u32 rx_coalesce_usecs_low

Definition at line 270 of file ethtool.h.

__u32 rx_max_coalesced_frames

Definition at line 259 of file ethtool.h.

__u32 rx_max_coalesced_frames_high

Definition at line 276 of file ethtool.h.

__u32 rx_max_coalesced_frames_irq

Definition at line 261 of file ethtool.h.

__u32 rx_max_coalesced_frames_low

Definition at line 271 of file ethtool.h.

__u32 stats_block_coalesce_usecs

Definition at line 266 of file ethtool.h.

__u32 tx_coalesce_usecs

Definition at line 262 of file ethtool.h.

__u32 tx_coalesce_usecs_high

Definition at line 277 of file ethtool.h.

__u32 tx_coalesce_usecs_irq

Definition at line 264 of file ethtool.h.

__u32 tx_coalesce_usecs_low

Definition at line 272 of file ethtool.h.

__u32 tx_max_coalesced_frames

Definition at line 263 of file ethtool.h.

__u32 tx_max_coalesced_frames_high

Definition at line 278 of file ethtool.h.

__u32 tx_max_coalesced_frames_irq

Definition at line 265 of file ethtool.h.

__u32 tx_max_coalesced_frames_low

Definition at line 273 of file ethtool.h.

__u32 use_adaptive_rx_coalesce

Definition at line 267 of file ethtool.h.

__u32 use_adaptive_tx_coalesce

Definition at line 268 of file ethtool.h.


The documentation for this struct was generated from the following file: