linux/drivers/net
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
..
appletalk
arcnet arcnet: fix macro name when DEBUG is defined 2021-01-18 20:57:43 -08:00
bonding bonding: add a vlan+srcmac tx hashing option 2021-01-19 19:30:32 -08:00
caif
can can: mcp251xfd: mcp251xfd_probe(): use dev_err_probe() to simplify error handling 2021-01-29 09:31:58 +01:00
dsa net: dsa: hellcreek: Report FDB table occupancy 2021-02-01 18:28:34 -08:00
ethernet net/mlx5e: Increase indirection RQ table size to 256 2021-02-01 22:52:35 -08:00
fddi
fjes
hamradio
hippi
hyperv hv_netvsc: Copy packets sent by Hyper-V out of the receive buffer 2021-01-29 16:44:07 -08:00
ieee802154
ipa net: ipa: don't pass size to ipa_cmd_transfer_add() 2021-01-28 20:23:26 -08:00
ipvlan ipvlan: remove h from printk format specifier 2021-01-28 17:47:33 -08:00
mdio mdio-bitbang: Export mdiobb_{read,write}() 2021-01-19 12:02:20 -08:00
netdevsim nexthop: Use enum to encode notification type 2021-01-28 20:49:52 -08:00
pcs
phy net: sfp: add mode quirk for GPON module Ubiquiti U-Fiber Instant 2021-01-28 13:41:17 -08:00
plip
ppp Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-01-14 18:34:50 -08:00
slip
team team: protect features update by RCU to avoid deadlock 2021-01-26 17:08:59 -08:00
usb net: qmi_wwan: Add pass through mode 2021-01-28 18:01:29 -08:00
vmxnet3 vmxnet3: Remove buf_info from device accessible structures 2021-01-29 21:07:03 -08:00
wan Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-01-08 13:28:00 -08:00
wireguard selinux/stable-5.11 PR 20201214 2020-12-16 11:01:04 -08:00
wireless Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-01-28 17:09:31 -08:00
xen-netback net: xen-netback: xenbus: Demote nonconformant kernel-doc headers 2021-01-16 18:13:04 -08:00
bareudp.c bareudp: add NETIF_F_FRAGLIST flag for dev features 2021-01-18 19:57:02 -08:00
dummy.c
eql.c
geneve.c geneve: add NETIF_F_FRAGLIST flag for dev features 2021-01-18 19:57:02 -08:00
gtp.c GTP: add support for flow based tunneling API 2021-01-15 20:31:49 -08:00
ifb.c
Kconfig bonding: add TLS dependency 2021-01-26 17:45:55 -08:00
LICENSE.SRC
loopback.c
macsec.c
macvlan.c macvlan: remove redundant null check on data 2021-01-05 16:52:02 -08:00
macvtap.c
Makefile
mdio.c
mhi_net.c net: mhi: Get rid of local rx queue count 2021-01-29 19:42:06 -08:00
mii.c
net_failover.c
netconsole.c
nlmon.c net: don't include ethtool.h from netdevice.h 2020-11-23 17:27:04 -08:00
ntb_netdev.c
rionet.c
sb1000.c
Space.c
sungem_phy.c
tap.c net: tap: check vlan with eth_type_vlan() method 2021-01-15 20:13:49 -08:00
thunderbolt.c USB / Thunderbolt patches for 5.11-rc1 2020-12-15 13:54:56 -08:00
tun.c net: tun: fix misspellings using codespell tool 2021-01-19 17:43:56 -08:00
veth.c net, xdp: Introduce xdp_prepare_buff utility routine 2021-01-08 13:39:24 -08:00
virtio_net.c net, xdp: Introduce xdp_prepare_buff utility routine 2021-01-08 13:39:24 -08:00
vrf.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-12-11 22:29:38 -08:00
vsockmon.c net: don't include ethtool.h from netdevice.h 2020-11-23 17:27:04 -08:00
vxlan.c vxlan: add NETIF_F_FRAGLIST flag for dev features 2021-01-18 19:57:02 -08:00
xen-netfront.c net: ethernet: ibm: ibmvnic: Fix some kernel-doc misdemeanours 2021-01-16 18:13:17 -08:00