Private Properties of the e1000g Driver
- _tx_bcopy_threshold
:
There are two strategies for e1000g transmission: DMA binding and copy. When a packet fragment is larger than the _tx_bcopy_threshold, DMA binding will be used, which dynamically binds the pre-allocated DMA handle to the fragment data buffer passed down from the upper layer at the time of transmitting. Otherwise, the copy method will be used, which copies the fragment data to the pre-allocated transmit buffer that has had DMA resource bound. For small packets, bcopy will bring better performance than DMA binding.
- Allowed values: 60-2048
- Default value: 512
- _tx_interrupt_enable
:
When _tx_interrupt_enable is set to 1, tx descriptor written back interrupt will be enabled, and the interrupt threads will be used to recycle the used tx descriptors. Otherwise, the tx descriptor recycling will be mainly done in the transmit threads.
- Allowed values: 0,1
- Default value: 1
- _tx_intr_delay
:
When _tx_intr_delay is set to 1, this property determines the amount of time that elapses between writing back a descriptor and when the tx interrupt is generated. The value is in units of 1.024 micro second. Only one tx interrupt can be generated after a burst of packets, so it can be used to coalesce tx interrupts, which can bring better performance.
- Allowed values: 0-65535
- Default value: 64
Note - A value of 0 disables the transmit delay function.
- _tx_intr_abs_delay
:
The _tx_intr_abs_delay can be used to coalesce transmit interrupts. However, it might be necessary to ensure that no completed transmit remains unnoticed for too long an interval. This property can be used to ensure that a transmit interrupt occurs at some predefined interval after a transmit is completed. The value is in units of 1.024 micro second. It is effective only when _tx_intrrupt_enable is set to 1.
- Allowed values: 0-65535
- Default value: 64
Note - A value of 0 disables the transmit absolute delay function.
- _rx_bcopy_threshold
:
There are two strategies for e1000g receiving: zero-copy and copy. When a packet is larger than the _rx_bcopy_threshold, zero-copy will be used, which uses the existed rx buffer that includes the received data to construct a mblk and send it to the upper layer. Otherwise, the copy method will be used, which allocates a new mblk buffer and copies the received packet to the new buffer, and then send it to the upper layer. In some cases, using copy can bring better performance.
- Allowed values: 0-2048
- Default value: 128
- _max_num_rcv_packets
:
Maximum number of packets that the driver can receive with each interrupt. CPU utilization can be lowered through more efficient interrupt management. If this value is increased, the time consumed by the CPU to process the individual interrupts increases, thereby nullifying any performance gains realized by handling less interrupts.
- Allowed values: 16-4096
- Default value: 128
- _rx_intr_delay
:
This property determines the amount of time (in 1.024 micro second units) between the latest receiving data is queued in a receive descriptor and the receive interrupt is generated. It is used to delay interrupt notification for the receive descriptor ring. Delaying interrupt notification helps coalesce interrupts and maximize the number of receive packets serviced by a single interrupt.
- Allowed values: 0-65535
- Default value: 0
- _rx_intr_abs_delay
:
This property determines the amount of time (in 1.024 micro second units) between the first received packet is queued in a receive descriptor and the receive interrupt is sent. It ensures that a receive interrupt is generated at some predefined interval after the first packet is received. Allowed values: 0-65535 Default value: 64
- Allowed values: 0-65535
- Default value: 0
- _intr_throttling_rate
:
This property determines the minimum inter-interrupt interval (in 256 nanosecond units). It can provide a guaranteed inter-interrupt delay between interrupts asserted, regardless of network traffic conditions. This property is effective only when _intr_adaptive is set to 0.
- Allowed values: 0-65535
- Default value: 550 (Sparc) 260 (x86)
Note - A value of 0 disables interrupt throttling logic.
- _intr_adaptive
:
When it is set to 1, the interrupt throttling rate is decided by the GLD adaptive interrupt blanking mechanism. Otherwise, the interrupt throttling rate will be decided by the value of _intr_throttling_rate.
- Allowed values: 0,1
- Default value: 1
- _tx_recycle_thresh
:
When the tx descriptors available is lower that this value, the tx descriptors and tx sw packets will be recycled in e1000g_send()routine.
- Allowed values: 0-4096
- Default value: 6
- _tx_recycle_num
:
This is the maximum number of tx descriptors that can be recycled at a time. It ensures that no more tx descriptors than this value will be recycled in each call of e1000g_recycle().
- Allowed values: 16-4096
- Default value: 64
on 2009/10/26 12:12