linux-stable/drivers/net/ethernet/sfc
Martin Habets 000fe940e5 sfc: The size of the RX recycle ring should be more flexible
Ideally the size would depend on the link speed, but the recycle
ring is created when the interface is brought up before the driver
knows the link speed. So size it for the maximum speed of a given NIC.
PowerPC is only supported on SFN7xxx and SFN8xxx NICs.

With this patch on a 40G NIC the number of calls to alloc_pages and
friends went down from about 18% to under 2%.
On a 10G NIC the number of calls to alloc_pages and friends went down
from about 15% to 0 (perf did not capture any calls during the 60
second test).
On a 100G NIC the number of calls to alloc_pages and friends went down
from about 23% to 4%.

Reported-by: Íñigo Huguet <ihuguet@redhat.com>
Signed-off-by: Martin Habets <habetsm.xilinx@gmail.com>
Link: https://lore.kernel.org/r/20220131111054.cp4f6foyinaarwbn@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2022-02-01 20:34:59 -08:00
..
falcon Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2022-01-05 14:36:10 -08:00
bitfield.h
ef10.c sfc: The size of the RX recycle ring should be more flexible 2022-02-01 20:34:59 -08:00
ef10_regs.h
ef10_sriov.c ethernet: constify references to netdev->dev_addr in drivers 2021-10-14 09:22:11 -07:00
ef10_sriov.h ethernet: constify references to netdev->dev_addr in drivers 2021-10-14 09:22:11 -07:00
ef100.c
ef100.h
ef100_ethtool.c ethtool: extend ringparam setting/getting API with rx_buf_len 2021-11-22 12:31:49 +00:00
ef100_ethtool.h
ef100_netdev.c
ef100_netdev.h
ef100_nic.c sfc: The size of the RX recycle ring should be more flexible 2022-02-01 20:34:59 -08:00
ef100_nic.h
ef100_regs.h
ef100_rx.c
ef100_rx.h
ef100_tx.c
ef100_tx.h
efx.c net: Don't include filter.h from net/sock.h 2021-12-29 08:48:14 -08:00
efx.h
efx_channels.c sfc: Use swap() instead of open coding it 2022-01-06 12:39:36 +00:00
efx_channels.h
efx_common.c net: Don't include filter.h from net/sock.h 2021-12-29 08:48:14 -08:00
efx_common.h
enum.h sfc: Remove duplicate argument 2021-04-14 13:55:07 -07:00
ethtool.c ethtool: extend ringparam setting/getting API with rx_buf_len 2021-11-22 12:31:49 +00:00
ethtool_common.c sfc: Fix reading non-legacy supported link modes 2021-10-18 14:28:02 +01:00
ethtool_common.h
farch.c sfc: farch: fix compile warning in efx_farch_dimension_resources() 2021-05-21 13:52:26 -07:00
farch_regs.h
filter.h
io.h
Kconfig ethernet: fix PTP_1588_CLOCK dependencies 2021-08-13 17:49:05 -07:00
Makefile
mcdi.c
mcdi.h
mcdi_filters.c
mcdi_filters.h
mcdi_functions.c
mcdi_functions.h
mcdi_mon.c
mcdi_pcol.h
mcdi_port.c
mcdi_port.h
mcdi_port_common.c ethernet/sfc: remove redundant rc variable 2022-01-04 12:41:41 +00:00
mcdi_port_common.h
mtd.c
net_driver.h sfc: The size of the RX recycle ring should be more flexible 2022-02-01 20:34:59 -08:00
nic.c net:sfc: fix non-freed irq in legacy irq mode 2021-05-21 14:51:10 -07:00
nic.h
nic_common.h sfc: The size of the RX recycle ring should be more flexible 2022-02-01 20:34:59 -08:00
ptp.c net_tstamp: add new flag HWTSTAMP_FLAG_BONDED_PHC_INDEX 2021-12-14 12:28:24 +00:00
ptp.h
rx.c bpf: Let bpf_warn_invalid_xdp_action() report more info 2021-12-13 22:28:27 +01:00
rx_common.c sfc: The size of the RX recycle ring should be more flexible 2022-02-01 20:34:59 -08:00
rx_common.h sfc: The size of the RX recycle ring should be more flexible 2022-02-01 20:34:59 -08:00
selftest.c
selftest.h
siena.c sfc: The size of the RX recycle ring should be more flexible 2022-02-01 20:34:59 -08:00
siena_sriov.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-10-22 11:41:16 +01:00
siena_sriov.h ethernet: constify references to netdev->dev_addr in drivers 2021-10-14 09:22:11 -07:00
sriov.c
sriov.h
tx.c sfc: last resort fallback for lack of xdp tx queues 2021-09-09 11:17:37 +01:00
tx.h
tx_common.c
tx_common.h
tx_tso.c
vfdi.h
workarounds.h