linux_dsm_epyc7002/drivers/net/ethernet
Matteo Croce 7d04b0b13b mvpp2: percpu buffers
Every mvpp2 unit can use up to 8 buffers mapped by the BM (the HW buffer
manager). The HW will place the frames in the buffer pool depending on the
frame size: short (< 128 bytes), long (< 1664) or jumbo (up to 9856).

As any unit can have up to 4 ports, the driver allocates only 2 pools,
one for small and one long frames, and share them between ports.
When the first port MTU is set higher than 1664 bytes, a third pool is
allocated for jumbo frames.

This shared allocation makes impossible to use percpu allocators,
and creates contention between HW queues.

If possible, i.e. if the number of possible CPU are less than 8 and jumbo
frames are not used, switch to a new scheme: allocate 8 per-cpu pools for
short and long frames and bind every pool to an RXQ.

When the first port MTU is set higher than 1664 bytes, the allocation
scheme is reverted to the old behaviour (3 shared pools), and when all
ports MTU are lowered, the per-cpu buffers are allocated again.

Signed-off-by: Matteo Croce <mcroce@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-09-02 12:07:46 -07:00
..
3com net: 3com: 3c59x: Use dev_get_drvdata 2019-07-23 13:02:41 -07:00
8390 net: 8390: Fix manufacturer name in Kconfig help text 2019-08-01 13:45:48 -04:00
adaptec
aeroflex Build fixes for skb_frag_size conversion 2019-07-24 11:46:03 -07:00
agere Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-08-06 18:44:57 -07:00
alacritech
allwinner net: ethernet: sun4i-emac: Support phy-handle property for finding PHYs 2019-08-06 11:29:16 -07:00
alteon
altera
amazon
amd Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-09-02 11:20:17 -07:00
apm net: Remove dev_err() usage after platform_get_irq() 2019-07-30 14:37:35 -07:00
apple net: delete "register" keyword 2019-08-08 18:03:42 -07:00
aquantia net: aquantia: fix out of memory condition on rx side 2019-08-31 19:07:11 -07:00
arc
atheros Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-08-06 18:44:57 -07:00
aurora net: Remove dev_err() usage after platform_get_irq() 2019-07-30 14:37:35 -07:00
broadcom Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-09-02 11:20:17 -07:00
brocade net: Use skb accessors in network drivers 2019-07-22 20:47:56 -07:00
cadence macb: Update compatibility string for SiFive FU540-C000 2019-08-28 14:05:48 -07:00
calxeda net: Use skb accessors in network drivers 2019-07-22 20:47:56 -07:00
cavium Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-08-19 11:54:03 -07:00
chelsio Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-08-19 11:54:03 -07:00
cirrus cirrus: cs89x0: remove set but not used variable 'lp' 2019-08-25 19:48:59 -07:00
cisco
cortina net: Remove dev_err() usage after platform_get_irq() 2019-07-30 14:37:35 -07:00
davicom net: Remove dev_err() usage after platform_get_irq() 2019-07-30 14:37:35 -07:00
dec
dlink
emulex be2net: eliminate enable field from be_aic_obj 2019-08-18 14:14:33 -07:00
ezchip ezchip: nps_enet: use devm_platform_ioremap_resource() to simplify code 2019-08-21 13:42:13 -07:00
faraday net: ftgmac100: Select ASPEED MDIO driver for the AST2600 2019-08-02 17:56:28 -07:00
freescale Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-09-02 11:20:17 -07:00
fujitsu
google gve: Copy and paste bug in gve_get_stats() 2019-08-21 20:50:26 -07:00
hisilicon net: hns3: remove set but not used variable 'qos' 2019-09-01 12:12:59 -07:00
hp
huawei net: Use skb accessors in network drivers 2019-07-22 20:47:56 -07:00
i825xx
ibm Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-09-02 11:20:17 -07:00
intel ice: fix adminq calls during remove 2019-08-26 23:54:29 -07:00
marvell mvpp2: percpu buffers 2019-09-02 12:07:46 -07:00
mediatek net: mediatek: remove set but not used variable 'status' 2019-08-27 20:47:56 -07:00
mellanox mlx5: Add missing init_net check in FIB notifier 2019-09-02 11:44:14 -07:00
micrel ethernet: Delete unnecessary checks before the macro call “dev_kfree_skb” 2019-08-22 16:22:04 -07:00
microchip ethernet: Delete unnecessary checks before the macro call “dev_kfree_skb” 2019-08-22 16:22:04 -07:00
moxa
mscc Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-08-27 14:23:31 -07:00
myricom Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-08-19 11:54:03 -07:00
natsemi
neterion ethernet: remove redundant memset 2019-07-15 11:06:27 -07:00
netronome Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-09-02 11:20:17 -07:00
ni net: nixge: Spelling s/Instrument/Instruments/ 2019-08-01 13:45:49 -04:00
nuvoton net: Remove dev_err() usage after platform_get_irq() 2019-07-30 14:37:35 -07:00
nvidia forcedeth: Use dev_get_drvdata where possible 2019-07-24 11:44:46 -07:00
nxp
oki-semi
packetengines ethernet: Delete unnecessary checks before the macro call “dev_kfree_skb” 2019-08-22 16:22:04 -07:00
pasemi net: pasemi: fix an use-after-free in pasemi_mac_phy_init() 2019-07-08 16:33:02 -07:00
qlogic qede: Add support for dumping the grc data. 2019-08-31 13:32:30 -07:00
qualcomm ethernet: Delete unnecessary checks before the macro call “dev_kfree_skb” 2019-08-22 16:22:04 -07:00
rdc
realtek r8169: don't set bit RxVlan on RTL8125 2019-09-01 11:37:36 -07:00
renesas ravb: Fix use-after-free ravb_tstamp_skb 2019-08-18 14:19:14 -07:00
rocker rocker: fix memory leaks of fib_work on two error return paths 2019-07-29 10:58:06 -07:00
samsung net: sxgbe: use devm_platform_ioremap_resource() to simplify code 2019-08-21 13:42:12 -07: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: falcon: don't score irq moderation points for GRO 2019-08-08 18:22:29 -07:00
sgi net: sgi: ioc3-eth: no need to stop queue set_multicast_list 2019-08-30 13:54:36 -07:00
silan
sis sis900: add support for ethtool's EEPROM dump 2019-07-26 14:24:48 -07:00
smsc ethernet: Delete unnecessary checks before the macro call “dev_kfree_skb” 2019-08-22 16:22:04 -07:00
socionext net: socionext: use devm_platform_ioremap_resource() to simplify code 2019-08-21 13:42:12 -07:00
stmicro Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-09-02 11:20:17 -07:00
sun ethernet: Delete unnecessary checks before the macro call “dev_kfree_skb” 2019-08-22 16:22:04 -07:00
synopsys net: Use skb accessors in network drivers 2019-07-22 20:47:56 -07:00
tehuti net: Use skb accessors in network drivers 2019-07-22 20:47:56 -07:00
ti Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-08-27 14:23:31 -07:00
toshiba net: spider_net: Use struct_size() helper 2019-08-29 17:53:59 -07:00
tundra net: tundra: tsi108: use spin_lock_irqsave instead of spin_lock_irq in IRQ context 2019-08-08 22:43:34 -07:00
via via-rhine: use devm_platform_ioremap_resource() to simplify code 2019-08-21 13:42:12 -07:00
wiznet
xilinx net: axienet: fix a potential double free in axienet_probe() 2019-07-08 16:28:32 -07:00
xircom
xscale net: ixp4xx: Spelling s/XSacle/XScale/ 2019-08-01 13:45:49 -04:00
dnet.c
dnet.h
ec_bhf.c
ethoc.c
fealnx.c
jme.c net: Use skb_frag_off accessors 2019-07-30 14:21:32 -07:00
jme.h
Kconfig
korina.c
lantiq_etop.c
lantiq_xrx200.c net: Remove dev_err() usage after platform_get_irq() 2019-07-30 14:37:35 -07:00
Makefile
netx-eth.c