linux_dsm_epyc7002/drivers/net/ethernet
Saeed Mahameed 6849c6d86b net/mlx5e: Rx, Update page pool numa node when changed
Once every napi poll cycle, check if numa node is different than
the page pool's numa id, and update it using page_pool_update_nid().

Alternatively, we could have registered an irq affinity change handler,
but page_pool_update_nid() must be called from napi context anyways, so
the handler won't actually help.

Performance testing:
XDP drop/tx rate and TCP single/multi stream, on mlx5 driver
while migrating rx ring irq from close to far numa:

mlx5 internal page cache was locally disabled to get pure page pool
results.

CPU: Intel(R) Xeon(R) CPU E5-2603 v4 @ 1.70GHz
NIC: Mellanox Technologies MT27700 Family [ConnectX-4] (100G)

XDP Drop/TX single core:
NUMA  | XDP  | Before    | After
---------------------------------------
Close | Drop | 11   Mpps | 10.9 Mpps
Far   | Drop | 4.4  Mpps | 5.8  Mpps

Close | TX   | 6.5 Mpps  | 6.5 Mpps
Far   | TX   | 3.5 Mpps  | 4  Mpps

Improvement is about 30% drop packet rate, 15% tx packet rate for numa
far test.
No degradation for numa close tests.

TCP single/multi cpu/stream:
NUMA  | #cpu | Before  | After
--------------------------------------
Close | 1    | 18 Gbps | 18 Gbps
Far   | 1    | 15 Gbps | 18 Gbps
Close | 12   | 80 Gbps | 80 Gbps
Far   | 12   | 68 Gbps | 80 Gbps

In all test cases we see improvement for the far numa case, and no
impact on the close numa case.

Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
Acked-by: Jonathan Lemon <jonathan.lemon@gmail.com>
Acked-by: Jesper Dangaard Brouer <brouer@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-11-20 11:47:36 -08:00
..
3com
8390
adaptec
aeroflex
agere
alacritech
allwinner drivers: net: Fix Kconfig indentation 2019-09-26 08:56:17 +02:00
alteon
altera net: of_get_phy_mode: Change API to solve int/unit warnings 2019-11-04 11:21:25 -08:00
amazon net: ena: ethtool: support set_channels callback 2019-10-07 09:30:03 -04:00
amd Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-09-02 11:20:17 -07:00
apm
apple
aquantia net: atlantic: Signedness bug in aq_vec_isr_legacy() 2019-11-13 14:29:28 -08:00
arc net: of_get_phy_mode: Change API to solve int/unit warnings 2019-11-04 11:21:25 -08:00
atheros net: of_get_phy_mode: Change API to solve int/unit warnings 2019-11-04 11:21:25 -08:00
aurora net: of_get_phy_mode: Change API to solve int/unit warnings 2019-11-04 11:21:25 -08:00
broadcom bnxt_en: Abort waiting for firmware response if there is no heartbeat. 2019-11-18 17:13:29 -08:00
brocade
cadence net: macb: convert to phylink 2019-11-13 11:45:42 -08:00
calxeda net/ethernet: xgmac don't set .driver twice 2019-10-09 21:09:59 -07:00
cavium Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-11-09 11:04:37 -08:00
chelsio cxgb4: remove unneeded semicolon for switch block 2019-11-19 16:39:51 -08:00
cirrus net: ep93xx_eth: fix mismatch of request_mem_region in remove 2019-11-15 12:42:09 -08:00
cisco
cortina net: gemini: add missed free_netdev 2019-11-16 12:53:38 -08:00
davicom
dec
dlink
emulex drivers: net: Fix Kconfig indentation 2019-09-26 08:56:17 +02:00
ezchip
faraday net: of_get_phy_mode: Change API to solve int/unit warnings 2019-11-04 11:21:25 -08:00
freescale Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-11-16 21:51:42 -08:00
fujitsu
google gve: Fixes DMA synchronization. 2019-11-01 15:00:05 -07:00
hisilicon Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-11-16 21:51:42 -08:00
huawei
i825xx net: i82596: fix dma_alloc_attr for sni_82596 2019-10-15 20:50:05 -07:00
ibm ibmveth: Detect unsupported packets before sending to the hypervisor 2019-11-14 17:59:48 -08:00
intel Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-11-16 21:51:42 -08:00
marvell Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-11-16 21:51:42 -08:00
mediatek net: ethernet: mediatek: Enable GDM GDMA_DROP_ALL mode 2019-11-14 15:13:28 -08:00
mellanox net/mlx5e: Rx, Update page pool numa node when changed 2019-11-20 11:47:36 -08:00
micrel Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2019-09-18 12:34:53 -07:00
microchip Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-11-16 21:51:42 -08:00
moxa
mscc net: mscc: ocelot: omit error check from of_get_phy_mode 2019-11-16 13:01:34 -08:00
myricom
natsemi net: sonic: replace dev_kfree_skb in sonic_send_packet 2019-09-11 09:14:01 +01:00
neterion
netronome Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-11-02 13:54:56 -07:00
ni net: of_get_phy_mode: Change API to solve int/unit warnings 2019-11-04 11:21:25 -08:00
nvidia net: forcedeth: add xmit_more support 2019-11-06 10:22:31 -08:00
nxp Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-10-20 10:43:00 -07:00
oki-semi
packetengines
pasemi
pensando Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-11-02 13:54:56 -07:00
qlogic Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-11-09 11:04:37 -08:00
qualcomm Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-11-09 11:04:37 -08:00
rdc
realtek r8169: load firmware for RTL8168fp/RTL8117 2019-11-16 13:11:40 -08:00
renesas Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-11-16 21:51:42 -08:00
rocker net: fib_notifier: propagate extack down to the notifier block callback 2019-10-04 11:10:56 -07:00
samsung net: of_get_phy_mode: Change API to solve int/unit warnings 2019-11-04 11:21:25 -08:00
seeq net: seeq: Fix the function used to release some memory in an error handling path 2019-09-01 12:10:11 -07:00
sfc sfc: trace_xdp_exception on XDP failure 2019-11-12 12:23:40 -08:00
sgi net: sgi: ioc3-eth: ensure tx ring is 16k aligned. 2019-11-04 11:30:14 -08:00
silan
sis
smsc
socionext net: of_get_phy_mode: Change API to solve int/unit warnings 2019-11-04 11:21:25 -08:00
stmicro Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-11-16 21:51:42 -08:00
sun
synopsys
tehuti
ti net: ethernet: ti: introduce cpsw switchdev based driver part 2 - switch 2019-11-20 11:25:24 -08:00
toshiba net: spider_net: Use struct_size() helper 2019-08-29 17:53:59 -07:00
tundra
via
wiznet
xilinx net: axienet: In kconfig remove arch dependency for axi_emac 2019-11-13 11:43:58 -08:00
xircom
xscale
dnet.c
dnet.h
ec_bhf.c
ethoc.c
fealnx.c
jme.c pci-v5.4-changes 2019-09-23 19:16:01 -07:00
jme.h
Kconfig hp100: Move 100BaseVG AnyLAN driver to staging 2019-10-31 14:49:52 -07:00
korina.c
lantiq_etop.c
lantiq_xrx200.c
Makefile hp100: Move 100BaseVG AnyLAN driver to staging 2019-10-31 14:49:52 -07:00