sys_attrs_bcm(5)sys_attrs_bcm(5)NAMEsys_attrs_bcm - bcm subsystem attributes
DESCRIPTION
This reference page lists and describes attributes for the bcm (bcm)
kernel subsystem. This subsystem is used by the DEGXA Gigabit Ethernet
Network Interface Cards (NICs). The hardware and firmware for these
adapters support coalescing, a threshold that causes the driver to send
an interrupt to the kernel. This threshold can be defined in terms of a
timer or the number of packets sent or received. The *_coal_frames and
*_coal_ticks attributes in the following list support performance tun‐
ing related to coalescing.
Refer to sys_attrs(5) for an introduction to the topic of kernel sub‐
system attributes.
A value, together with the adapt_mult value, that is used in an
algorithm to determine the average number of buffer descriptors
that were completed per run of the interrupt service routine.
Default: 5
Minimum: 0
Maximum: 100
This attribute is only applicable when the adapt_enabled
attribute is set to 1.
Although this attribute can be modified at run time, do not
change it unless instructed to do so by support personnel.
A value that enables (1) or disables (0) adaptive coalescing.
Adaptive coalescing attempts to automatically adjust coalescing
values (frames and ticks) to settings more appropriate for the
traffic patterns observed on the interface. For streaming traf‐
fic, coalescing values are raised to decrease CPU utilization.
For receive-response traffic, coalescing values are lowered to
decrease latency.
Default: 1 (enabled)
The following table shows the system attributes whose values are
applicable depending on the value of the adapt_enabled
attribute:
───────────────────────────────────────────────
adapt_enabled=0 adapt_enabled=1
───────────────────────────────────────────────
rx_coal_frames adapt_add
rx_coal_frames_int adapt_mini_workaround
rx_coal_ticks adapt_mult
rx_coal_ticks_int adapt_override_recv_bd
tx_coal_frames adapt_override_recv_ticks
tx_coal_frames_int adapt_override_xmit_bd
tx_coal_ticks adapt_override_xmit_ticks
tx_coal_ticks_int adapt_recv_down
adapt_recv_max
adapt_recv_min
adapt_recv_up
adapt_tolerance
adapt_xmit_down
adapt_xmit_max
adapt_xmit_min
adapt_xmit_up
───────────────────────────────────────────────
When adaptive coalescing is enabled, the internal value
forrx_coal_frames has a lower bound of adapt_recv_min and an
upper bound of adapt_recv_max. The internal value for
tx_coal_frames has a lower bound of adapt_xmit_min and an upper
bound of adapt_xmit_max. The driver automatically calculates
internal values for the remaining rx_coal* and tx_coal*
attributes based on the internal value of rx_coal_framesand
tx_coal_frames, respectively.
The output of sysconfig -q command shows the real value of these
attributes only when adapt_enabled is zero (0); it does not dis‐
play the internal values when adaptive coalescing is enabled.
A value that enables (1) or disables (0) an adaptive coalescing
algorithm workaround. This has an effect similar to setting
both adapt_recv_max and adapt_xmit_max to 20.
Default: 0 (disabled)
This attribute is only applicable when the adapt_enabled
attribute is set to 1.
A value, together with the adapt_add value, that is used in an
algorithm to determine the average number of buffer descriptors
that were completed per run of the interrupt service routine.
Default: 110 (percent)
Minimum: 0
Maximum: 1000
This attribute is only applicable when the adapt_enabled
attribute is set to 1.
Although this attribute can be modified at run time, do not
change it unless instructed to do so by support personnel.
A value that controls how quickly the adaptive coalescing algo‐
rithm reacts to decreased receive traffic on the interface. A
value less than 100 causes the algorithm to adjust conserva‐
tively. A value equal to 100 causes the algorithm to adjust
exactly to the observed traffic. A value greater than 100 causes
the algorithm to adjust aggressively.
Default: 150 (percent)
Minimum: 0
Maximum: 1000
This attribute is only applicable when the adapt_enabled
attribute is set to 1.
The maximum number of buffer descriptors for the adaptive coa‐
lescing algorithm to use when automatically adjusting the inter‐
nal value for rx_coal_frames.
Default: 100 (buffer descriptors)
Minimum: 0
Maximum: 1023
This attribute is only applicable when the adapt_enabled
attribute is set to 1.
The minimum number of buffer descriptors for the adaptive coa‐
lescing algorithm to use when automatically adjusting the inter‐
nal value for rx_coal_frames.
Default: 1 (buffer descriptor)
Minimum: 1
Maximum: 1023
This attribute is only applicable when the adapt_enabled
attribute is set to 1.
A value that controls how quickly the adaptive coalescing algo‐
rithm reacts to increased receive traffic on the interface. A
value less than 100 causes the algorithm to adjust conserva‐
tively. A value equal to 100 causes the algorithm to adjust
exactly to the observed traffic. A value greater than 100 causes
the algorithm to adjust aggressively.
Default: 150 (percent)
Minimum: 0
Maximum: 1000
This attribute is only applicable when the adapt_enabled
attribute is set to 1.
A value that controls how much variance to allow between the
average number of buffer descriptors observed per run of the
interrupt service routine and the current internal values of
rx_coal_frames and tx_coal_frames. Setting this attribute to a
non-zero value will make the algorithm less likely to make an
adjustment to the coalescing registers.
Default: 0 (buffer descriptors)
Minimum: 0
Maximum: 100
This attribute is only applicable when the adapt_enabled
attribute is set to 1.
A value that controls how quickly the adaptive coalescing algo‐
rithm reacts to decreased transmit traffic on the interface. A
value less than 100 causes the algorithm to adjust conserva‐
tively. A value equal to 100 causes the algorithm to adjust
exactly to the observed traffic. A value greater than 100 causes
the algorithm to adjust aggressively.
Default: 150 (percent)
Minimum: 0
Maximum: 1000
This attribute is only applicable when the adapt_enabled
attribute is set to 1.
The maximum number of buffer descriptors for the adaptive coa‐
lescing algorithm to use when automatically adjusting the inter‐
nal value for tx_coal_frames.
Default: 100 (buffer descriptors)
Minimum: 0
Maximum: 1023
This attribute is only applicable when the adapt_enabled
attribute is set to 1.
The minimum number of buffer descriptors for the adaptive coa‐
lescing algorithm to use when automatically adjusting the inter‐
nal value for tx_coal_frames.
Default: 1 (buffer descriptor)
Minimum: 1
Maximum: 1023
This attribute is only applicable when the adapt_enabled
attribute is set to 1.
A value that controls how quickly the adaptive coalescing algo‐
rithm reacts to increased transmit traffic on the interface. A
value less than 100 causes the algorithm to adjust conserva‐
tively. A value equal to 100 causes the algorithm to adjust
exactly to the observed traffic. A value greater than 100 causes
the algorithm to adjust aggressively.
Default: 150 (percent)
Minimum: 0
Maximum: 1000
This attribute is only applicable when the adapt_enabled
attribute is set to 1.
The date and time when the driver was last built. For example,
May 24 2002 09:22:47. This is a read-only attribute and cannot
be changed.
The version number of the bcm driver. This is a read-only
attribute, and cannot be changed.
The maximum number of jumbo (9000 byte) receive buffers to allo‐
cate if jumbo frames are enabled.
Default: 255 (buffers)
Minimum: 1
Maximum: 255
A value that enables (1) or disables (0) the awakening of sepa‐
rate threads by the driver's interrupt service routine to handle
completion of transmit and receive operations. When separate
worker threads are enabled, the system load of the DEGXA Gigabit
Ethernet driver can be spread over multiple CPUs. When separate
worker threads are disabled, the master system CPU (or the mas‐
ter CPU in each RAD of a NUMA system) services all the transmit
and receive operations for the system's Gigabit Ethernet cards.
Default: 1 (multiple threads enabled)
A 0 setting improves the performance of the driver software
itself. However, overall system performance is likely to suffer
during times of high network load because kernel applications
other than the driver can have difficulty accessing the master
CPU. Furthermore, the likelihood of overall system performance
degradation goes up with each additional DEGXA Gigabit Ethernet
card supported by the system. For this reason, the default set‐
ting (1) is recommended for most systems and applications.
The number of additional frames the adapter will attempt to
receive after the low watermark threshold is reached.
DEGXA and DEGX2 adapters have 96 kilobytes of on-chip memory,
which is devided into 756 130-byte mbufs. These mbufs are shared
between the receive and transmit functions of the adapter. Typi‐
cally, when the number of mbufs that are available falls below
the value of rx_mbuf_low_watermark_5703 (single-port adapter) or
rx_mbuf_low_watermark_5704 (dual-port adapter), the adapter
immediately begins dropping incoming packets until mbufs become
available.
Default: 65535 (frames)
Minimum: 0
Maximum: 65535
The default setting directs the adapter to starve transmit in
favor of receive. This is generally good because it results in
fewer overall dropped packets. Pause frames will be sent to slow
down the incoming rate and allow transmit operation to continue.
Although this attribute can be modified at run time, do not
change it unless instructed to do so by support personnel.
A value that overrides the internal coalescing value for
rx_coal_frames. If set to 0, there is no override.
Default: 0 (buffer descriptors)
Minimum: 0
Maximum: 1023
This attribute is only applicable when the adapt_enabled
attribute is set to 1.
The number of microseconds (usecs) to override the internal coa‐
lescing value for rx_coal_ticks. If set to 0, there is no over‐
ride.
Default: 0 (usecs)
Minimum: 0
Maximum: 1000, or 1 second
This attribute is only applicable when the adapt_enabled
attribute is set to 1.
A value that overrides the internal coalescing value for
tx_coal_frames. If set to 0, there is no override.
Default: 0 (buffer descriptors)
Minimum: 0
Maximum: 511
This attribute is only applicable when the adapt_enabled
attribute is set to 1.
The number of microseconds (usecs) to override the internal coa‐
lescing value for tx_coal_ticks. If set to 0, there is no over‐
ride.
Default: 0 (usecs)
Minimum: 0
Maximum: 1000, or 1 second
This attribute is only applicable when the adapt_enabled
attribute is set to 1.
The number of chip-internal mbufs that must be available for the
read DMA engine to dequeue a descriptor. If the free mbuf count
drops below this mark, it must go above rx_mbuf_high_watermark
to resume normal operation.
Default: 304 (mbufs)
Minimum: 0
Maximum: 756
Higher values effectively disable receive operation.
Although this attribute can be modified at run time, do not
change it unless instructed to do so by support personnel.
The number of packets that are received before an interrupt is
generated (assuming that the rx_coal_ticks timer does not expire
first).
Default: 10 (packets)
Minimum: 0
Maximum: 1023
This attribute is only applicable when the adapt_enabled
attribute is set to 0 (zero).
The number of packets that are received before a new status
block is sent to the host through a direct memory access (DMA)
transfer while the driver is servicing an interrupt (assuming
that the rx_coal_ticks_int timer does not expire first).
Default: 4 (packets)
Minimum: 0
Maximum: 1023
This attribute is only applicable when the adapt_enabled
attribute is set to 0 (zero).
The number of microseconds (usec) between the receipt of the
last packet and the generation of an interrupt (assuming that
the rx_coal_frames threshold is not reached first).
Default: 150 (usec)
Minimum: 0
Maximum: INT_MAX, or 2 billion
This attribute is only applicable when the adapt_enabled
attribute is set to 0 (zero).
The number of microseconds (usec) that elapse after receipt of
the last packet before a new status block is sent to the host
through a direct memory access (DMA) transfer while the driver
is servicing an interrupt (assuming that the rx_coal_frames_int
threshold is not reached first).
Default: 50 (usec)
Minimum: 0
Maximum: INT_MAX, or 2 billion
This attribute is only applicable when the adapt_enabled
attribute is set to 0 (zero).
The maximum number of standard (1500 byte) receive buffers to
allocate.
Default: 511 (buffers)
Minimum: 1
Maximum: 511
This attribute is only applicable when the adapt_enabled
attribute is set to 0 (zero).
The number of microseconds (usec) between statistics updates
from the adapter to the host.
Default: 1000000 (usec), or 1 second
Minimum: 0
Maximum: INT_MAX, or 2 billion
The number of packets that are sent before an interrupt is gen‐
erated (assuming that the tx_coal_ticks timer does not expire
first).
Default: 10 (packets)
Minimum: 0
Maximum: 511
This attribute is only applicable when the adapt_enabled
attribute is set to 0 (zero).
The number of packets that are sent before an interrupt is gen‐
erated (assuming that the tx_coal_ticks_int timer does not
expire first).
Default: 4 (packets)
Minimum: 0
Maximum: 511
This attribute is only applicable when the adapt_enabled
attribute is set to 0 (zero).
The number of microseconds (usec) between the transmission of
the last packet and the generation of an interrupt (assuming
that the tx_coal_frames threshold is not reached first).
Default: 150 (usec)
Minimum: 0
Maximum: INT_MAX, or 2 billion
This attribute is only applicable when the adapt_enabled
attribute is set to 0 (zero).
The number of microseconds (usec) between the transmission of
the last packet and the generation of an interrupt (assuming
that the tx_coal_frames_int threshold is not reached first).
Default: 50 (usec)
Minimum: 0
Maximum: INT_MAX, or 2 billion
This attribute is only applicable when the adapt_enabled
attribute is set to 0 (zero).
The value that enables (1) or disables (0) the awakening of the
transmit thread to process transmissions.
Default: 0 (disabled)
Permitted values and their meaning are as follows: Do not awaken
the transmit thread. Transmits are started in line by the thread
calling the bcm_start routine. Transmit completions will occur
in the same thread as receive completions. Awakens the transmit
thread to start transmits. This allows a quick return from the
bcm_start routine.
SEE ALSOsys_attrs(5)sys_attrs_bcm(5)