linux/drivers/net/ethernet
Noam Stolero 1dd55ba2fb net/mlx5e: Increase indirection RQ table size to 256
Increasing the indirection RQ table size from 128 to 256 improves the
packet distribution over the NIC HW queues for various cases.

Let's take a look at the following scenario:
Assuming RSS result distributed uniformly and indirection table is filled
with queues in a cyclic manner.
Let N be the number of queues on a given setup.
If 256%N = 128%N = 0, then all queues have the same probability to be
chosen for a given RSS result.
This case doesn't improves nor degrade by this change.

If 256%N != 0 and 128%N != 0, there is a remainder which will favor some
queues. Increasing the indirection RQ table size to 256 reduce the ratio
between the favored queues probability to be selected to the rest of the
queues and improves the distribution.

For example, let's assume the number of queues is 56.
For a table size of 128, we have 128%56=16 queues which will have a 3/128
probability to be chosen and 2/128 for the rest 40.
16 queues have 1.5 times the probability to be chosen over the other 40.

For a table size of 256, we have 256%56=32 queues which will have a 5/256
probability to be chosen and 4/256 probability for the rest 24 queues.
Here 32 queues have 1.25 more probability to be chosen over the other 24.

This shows that the larger indirection table size would more likely cause
an even distribution.

This change also aligns our mlx5 driver's indirection table size with
other vendors.

Signed-off-by: Noam Stolero <noams@nvidia.com>
Reviewed-by: Tal Gilboa <talgi@nvidia.com>
Reviewed-by: Tariq Toukan <tariqt@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
2021-02-01 22:52:35 -08:00
..
3com
8390
adaptec
aeroflex
agere ethernet: select CONFIG_CRC32 as needed 2020-12-04 14:42:21 -08:00
alacritech
allwinner net: allwinner: Fix some resources leak in the error handling path of the probe and in the remove function 2020-12-16 11:37:31 -08:00
alteon
altera
amazon net, xdp: Introduce xdp_prepare_buff utility routine 2021-01-08 13:39:24 -08:00
amd net: remove ndo_udp_tunnel_* callbacks 2021-01-07 12:53:29 -08:00
apm
apple
aquantia atlantic: remove architecture depends 2020-12-28 15:04:25 -08:00
arc
atheros net: atheros: simplify the return expression of atl2_phy_setup_autoneg_adv() 2020-12-08 16:22:54 -08:00
broadcom bnxt_en: Convert to use netif_level() helpers. 2021-01-26 17:25:59 -08:00
brocade net: bna: remove trailing semicolon in macro definition 2020-12-04 17:41:49 -08:00
cadence net: macb: ignore tx_clk if MII is used 2021-01-21 19:50:47 -08:00
calxeda
cavium net/ethernet: convert to use module_platform_driver in octeon_mgmt.c 2021-01-29 19:02:43 -08:00
chelsio Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-01-28 17:09:31 -08:00
cirrus
cisco net: remove ndo_udp_tunnel_* callbacks 2021-01-07 12:53:29 -08:00
cortina
davicom
dec
dlink
emulex net: remove ndo_udp_tunnel_* callbacks 2021-01-07 12:53:29 -08:00
ezchip
faraday Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-12-11 22:29:38 -08:00
freescale Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-01-28 17:09:31 -08:00
fujitsu
google gve: Add support for raw addressing in the tx path 2020-12-08 16:06:28 -08:00
hisilicon net: hns3: add debugfs support for tm nodes, priority and qset info 2021-01-29 20:42:24 -08:00
huawei net: hinic: simplify the return hinic_configure_max_qnum() 2020-12-09 17:05:37 -08:00
i825xx
ibm ibmvnic: remove unnecessary rmb() inside ibmvnic_poll 2021-02-01 20:21:12 -08:00
intel e100: switch from 'pci_' to 'dma_' API 2021-01-28 18:31:18 -08:00
marvell octeontx2-af: Fix 'physical' typos 2021-01-28 21:24:47 -08:00
mediatek net: ethernet: mediatek: support setting MTU 2021-01-25 18:23:14 -08:00
mellanox net/mlx5e: Increase indirection RQ table size to 256 2021-02-01 22:52:35 -08:00
micrel net: ks8851: remove definition of DEBUG 2021-01-15 17:53:29 -08:00
microchip lan743x: fix endianness when accessing descriptors 2021-01-28 18:37:48 -08:00
moxa
mscc net: dsa: felix: perform switch setup for tag_8021q 2021-01-29 21:25:27 -08:00
myricom
natsemi net/sonic: Fix some resource leaks in error handling paths 2021-01-05 15:59:20 -08:00
neterion net: vxget: clean up sparse warnings 2020-12-14 19:18:11 -08:00
netronome bpf: Rename BPF_XADD and prepare to encode other atomics in .imm 2021-01-14 18:34:29 -08:00
ni net: nixge: fix spelling mistake in Kconfig: "Instuments" -> "Instruments" 2020-12-17 10:54:31 -08:00
nvidia
nxp ethernet: select CONFIG_CRC32 as needed 2020-12-04 14:42:21 -08:00
oki-semi
packetengines
pasemi net: pasemi: fix error return code in pasemi_mac_open() 2020-12-02 18:03:58 -08:00
pensando net: add inline function skb_csum_is_sctp 2021-01-19 14:31:25 -08:00
qlogic net/qla3xxx: switch from 'pci_' to 'dma_' API 2021-01-18 20:26:21 -08:00
qualcomm net: qualcomm: rmnet: Update rmnet device MTU based on real device 2020-12-10 13:30:26 -08:00
rdc
realtek r8169: remove not needed call to rtl_wol_enable_rx from rtl_shutdown 2021-01-27 16:48:37 -08:00
renesas Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-01-20 12:16:11 -08:00
rocker rocker: Simplify the calculation of variables 2021-01-27 17:35:48 -08:00
samsung
seeq
sfc sfc: reduce the number of requested xdp ev queues 2021-01-22 19:16:45 -08:00
sgi
silan
sis
smsc net: smsc911x: Make Runtime PM handling more fine-grained 2021-01-19 17:46:39 -08:00
socionext net, xdp: Introduce xdp_prepare_buff utility routine 2021-01-08 13:39:24 -08:00
stmicro Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-01-28 17:09:31 -08:00
sun
synopsys
tehuti
ti net: ethernet: ti: am65-cpsw: add support for am64x cpsw3g 2021-01-19 17:32:34 -08:00
toshiba net: ethernet: toshiba: spider_net: Document a whole bunch of function parameters 2021-01-16 18:13:28 -08:00
tundra
via
wiznet
xilinx Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-12-11 22:29:38 -08:00
xircom
xscale net: ixp4xx_eth: Use DEFINE_SPINLOCK() for spinlock 2021-01-05 15:43:41 -08:00
dnet.c
dnet.h
ec_bhf.c
ethoc.c net: ethernet: Fix memleak in ethoc_probe 2020-12-23 12:28:53 -08:00
fealnx.c
jme.c
jme.h
Kconfig net: remove aurora nb8800 driver 2021-01-21 19:48:38 -08:00
korina.c net: korina: fix return value 2020-12-16 15:01:07 -08:00
lantiq_etop.c
lantiq_xrx200.c
Makefile net: remove aurora nb8800 driver 2021-01-21 19:48:38 -08:00