NetBSD/share
msaitoh 47293c3f8d Modify some parameters to reduce packet dropping.
- Background: ixgbe doesn't use common MCLGET() interface and use the
   driver specific cluster allocation mechanism (jcl). The cluster is
   pre-allocated with a fixed number and the current number per queue
   is num_rx_desc * 2 (2048*2=4096). It's too small. It also has a problem
   that the max length of the pcq which is used in the TX path is big
   (4096). Example:

    100M <----- [ixg0                                      ixg1] <----- 1G
                2048 TX descs <--- 4096 pcqs <---- 2048 RX descs

   If a machine forwards a traffic from 1G interface to 100M interface,
   It would require 2048+4096+2048=8192 descriptors, but the current number
   is 2048*2=4096. It's too small. Even if the both interface's link speed
   is the same and only small number of packet is queued in the pcq, 4096
   jcl is small because 2048(RX)+TX(2048)=4096. If jcl is exhausted, not only
   forwarding from ixg1 to ixg0 is dropped, but also another forwarding path
   from ixg1 to another interface(e.g. wm0) is also dropped. Sockets also
   queue packets, so if a lot of sockets are used and/or a socket buffer
   size is changed to bigger one, it'll also become a problem. If the jcl
   is exhausted, evcnt(9) counter "ixgX qY Rx no jumbo mbuf" is incremented.
   Example:
     vmstat -ev | grep ixg1 | grep "no jumbo"
     ixg1 q0 Rx no jumbo mbuf                           0     0 misc
     ixg1 q1 Rx no jumbo mbuf                           0     0 misc
     ixg1 q2 Rx no jumbo mbuf                      141326     0 misc
     ixg1 q3 Rx no jumbo mbuf                           0     0 misc


 - To solve this problem:
   - Add new config parameter IXGBE_JCLNUM_MULTI and set the default to 3
     (2048 * 3). The minimum number is 2. The total number of jcl per queue
     is available with hw.ixgN.num_jcl_per_queue sysctl.
   - Reduce the max length of the pcq() which is used in the TX path from
     4096 to 2048.

 - Reviewed by knakahara@ and ozaki-r@.

 - TODO: Use MCLGET().
2021-03-09 10:03:18 +00:00
..
dict +craptacular 2020-07-16 03:08:58 +00:00
doc s/ be be / be / 2020-08-19 02:19:06 +00:00
examples
i18n
installboot Add missing Makefile. 2020-06-22 03:15:48 +00:00
legal Remove advertising clause from the code distributed from UCB 2020-10-19 15:25:57 +00:00
locale
man Modify some parameters to reduce packet dropping. 2021-03-09 10:03:18 +00:00
me
misc BER 2021-03-07 08:48:36 +00:00
mk Build Xorg server for evbppc with minimum wsfb(4) support for Explora. 2021-03-07 10:42:26 +00:00
nls
tabset
terminfo merge 20200606: resolve conflict by adding kb2 and rin entries to putty 2020-10-10 12:57:39 +00:00
tmac
wscons Update Spleen wscons fonts to version 1.8.2, bringing the following 2020-07-31 20:46:53 +00:00
xml
Makefile
Makefile.inc