linux/drivers/net
Raj Victor 91427e6d90 ice: Support 5 layer topology
There is a performance issue when the number of VSIs are not multiple
of 8. This is caused due to the max children limitation per node(8) in
9 layer topology. The BW credits are shared evenly among the children
by default. Assume one node has 8 children and the other has 1.
The parent of these nodes share the BW credit equally among them.
Apparently this causes a problem for the first node which has 8 children.
The 9th VM get more BW credits than the first 8 VMs.

Example:

1) With 8 VM's:
for x in 0 1 2 3 4 5 6 7;
do taskset -c ${x} netperf -P0 -H 172.68.169.125 &  sleep .1 ; done

tx_queue_0_packets: 23283027
tx_queue_1_packets: 23292289
tx_queue_2_packets: 23276136
tx_queue_3_packets: 23279828
tx_queue_4_packets: 23279828
tx_queue_5_packets: 23279333
tx_queue_6_packets: 23277745
tx_queue_7_packets: 23279950
tx_queue_8_packets: 0

2) With 9 VM's:
for x in 0 1 2 3 4 5 6 7 8;
do taskset -c ${x} netperf -P0 -H 172.68.169.125 &  sleep .1 ; done

tx_queue_0_packets: 24163396
tx_queue_1_packets: 24164623
tx_queue_2_packets: 24163188
tx_queue_3_packets: 24163701
tx_queue_4_packets: 24163683
tx_queue_5_packets: 24164668
tx_queue_6_packets: 23327200
tx_queue_7_packets: 24163853
tx_queue_8_packets: 91101417

So on average queue 8 statistics show that 3.7 times more packets were
send there than to the other queues.

The FW starting with version 3.20, has increased the max number of
children per node by reducing the number of layers from 9 to 5. Reflect
this on driver side.

Signed-off-by: Raj Victor <victor.raj@intel.com>
Co-developed-by: Michal Wilczynski <michal.wilczynski@intel.com>
Signed-off-by: Michal Wilczynski <michal.wilczynski@intel.com>
Co-developed-by: Mateusz Polchlopek <mateusz.polchlopek@intel.com>
Signed-off-by: Mateusz Polchlopek <mateusz.polchlopek@intel.com>
Tested-by: Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
2024-04-22 13:05:19 -07:00
..
arcnet archnet: Convert from tasklet to BH workqueue 2024-04-08 19:44:09 -07:00
bonding bonding: no longer use RTNL in bonding_show_queue_id() 2024-04-09 17:31:45 -07:00
caif
can net: handle HAS_IOPORT dependencies 2024-04-08 11:56:56 +01:00
dsa net: dsa: xrs700x: fix missing initialisation of ds->phylink_mac_ops 2024-04-19 12:11:17 +01:00
ethernet ice: Support 5 layer topology 2024-04-22 13:05:19 -07:00
fddi net: handle HAS_IOPORT dependencies 2024-04-08 11:56:56 +01:00
fjes
hamradio net: handle HAS_IOPORT dependencies 2024-04-08 11:56:56 +01:00
hippi
hyperv hv_netvsc: Don't free decrypted memory 2024-04-10 21:33:32 +00:00
ieee802154
ipa net: ipa: sort all includes 2024-04-18 13:01:05 +02:00
ipvlan ipvlan: handle NETDEV_DOWN event 2024-04-08 13:20:01 +01:00
mctp
mdio
netdevsim net: netdevsim: add some fake page pool use 2024-04-15 11:21:11 -07:00
pcs
phy net: phy: mediatek-ge: do not disable EEE advertisement 2024-04-17 10:44:20 +01:00
plip
ppp
pse-pd net: pse-pd: Add TI TPS23881 PSE controller driver 2024-04-18 18:27:39 -07:00
slip
team net: team: fix incorrect maxattr 2024-04-10 19:36:23 -07:00
thunderbolt
usb Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2024-04-18 13:12:24 -07:00
vmxnet3
vxlan
wan net: wan: fsl_qmc_hdlc: Convert to platform remove callback returning void 2024-04-10 19:35:50 -07:00
wireguard
wireless
wwan devlink: extend devlink_param *set pointer 2024-04-22 13:05:19 -07:00
xen-netback net: move skb ref helpers to new header 2024-04-11 19:29:22 -07:00
amt.c
bareudp.c
dummy.c
eql.c
geneve.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2024-04-11 14:23:47 -07:00
gtp.c
ifb.c
Kconfig net: netdevsim: select PAGE_POOL in Kconfig 2024-04-17 18:25:30 -07:00
LICENSE.SRC
loopback.c
macsec.c
macvlan.c
macvtap.c
Makefile
mdio.c
mhi_net.c
mii.c
net_failover.c
netconsole.c
netkit.c
nlmon.c
ntb_netdev.c
pfcp.c
rionet.c
sb1000.c
Space.c
sungem_phy.c
tap.c
tun.c tun: limit printing rate when illegal packet received by tun dev 2024-04-16 17:13:23 -07:00
veth.c net: mirror skb frag ref/unref helpers 2024-04-11 19:29:23 -07:00
virtio_net.c virtio_net: Support RX hash XDP hint 2024-04-18 13:54:04 +02:00
vrf.c sysctl: treewide: constify ctl_table_header::ctl_table_arg 2024-04-22 08:56:31 +01:00
vsockmon.c
xen-netfront.c