|
sys_attrs_bcm(5)
Contents
|
sys_attrs_bcm - bcm subsystem attributes
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 tuning related to coalescing.
Refer to sys_attrs(5) for an introduction to the topic of
kernel subsystem 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
traffic, 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 display 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
algorithm reacts to decreased receive traffic
on the interface. A value less than 100 causes
the algorithm to adjust conservatively. 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 coalescing algorithm to use when automatically
adjusting the internal 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 coalescing algorithm to use when automatically
adjusting the internal 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
algorithm reacts to increased receive traffic
on the interface. A value less than 100 causes
the algorithm to adjust conservatively. 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
algorithm reacts to decreased transmit
traffic on the interface. A value less than 100
causes the algorithm to adjust conservatively. 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 coalescing algorithm to use when automatically
adjusting the internal 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 coalescing algorithm to use when automatically
adjusting the internal 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
algorithm reacts to increased transmit
traffic on the interface. A value less than 100
causes the algorithm to adjust conservatively. 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 readonly
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 allocate if jumbo frames are enabled.
Default: 255 (buffers)
Minimum: 1
Maximum: 255
A value that enables (1) or disables (0) the awakening
of separate 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 master 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 setting (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 onchip
memory, which is devided into 756 130-byte
mbufs. These mbufs are shared between the receive
and transmit functions of the adapter. Typically,
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 coalescing value for rx_coal_ticks. If set
to 0, there is no override.
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 coalescing value for tx_coal_ticks. If set
to 0, there is no override.
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 generated (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 generated (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.
sys_attrs(5)
sys_attrs_bcm(5)
[ Back ] |