linux_dsm_epyc7002/drivers/net/ethernet
Tariq Toukan 9481627838 net/mlx5e: RX, Make sure packet header does not cross page boundary
In the non-linear SKB memory scheme of Striding RQ, a packet header
could cross page boundary. This requires special care in fast path
that costs LoC, additional runtime instructions and branches.

It could happen when the header (up to 256B) does not fit in
a single stride. Avoid this by working with a stride size that fits
the maximum possible header. Stride is increased form 64B to 256B.

Performance:
Tested packet rate for UDP streams, single ring, on ConnectX-5.

Configuration:
Set Striding RQ and LRO ON (to enabled the non-linear SKB scheme).
GRO OFF, early drop by TC rule.

64B: 4x worse memory utilization, no page-crossers headers
- No degradation (5,887,305 pps).
- The reduction in memory utilization is compensated by the saving of
  branches tests.

192B: 1.33x worse memory utilization, avoid page-crossers headers
- Before: 5,727,252. After: 5,777,037. ~1% gain.

256B: Same memory util, no page-crossers
- Before: 5,691,885. After: 5,748,007. ~1% gain.

Signed-off-by: Tariq Toukan <tariqt@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
2019-01-25 12:16:13 -08:00
..
3com net: 3c509: mark expected switch fall-throughs 2019-01-23 09:06:36 -08:00
8390
adaptec
aeroflex cross-tree: phase out dma_zalloc_coherent() 2019-01-08 07:58:37 -05:00
agere
alacritech cross-tree: phase out dma_zalloc_coherent() 2019-01-08 07:58:37 -05:00
allwinner
alteon
altera
amazon cross-tree: phase out dma_zalloc_coherent() 2019-01-08 07:58:37 -05:00
amd net: amd8111e: clean up two minor indentation issues 2019-01-24 22:06:36 -08:00
apm cross-tree: phase out dma_zalloc_coherent() 2019-01-08 07:58:37 -05:00
apple
aquantia Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-12-09 21:43:31 -08:00
arc
atheros cross-tree: phase out dma_zalloc_coherent() 2019-01-08 07:58:37 -05:00
aurora
broadcom broadcom: Mark expected switch fall-throughs 2019-01-23 09:06:36 -08:00
brocade bna: Mark expected switch fall-throughs 2019-01-23 09:06:36 -08:00
cadence net: macb: remove unnecessary code 2019-01-04 12:59:09 -08:00
calxeda
cavium cross-tree: phase out dma_zalloc_coherent() 2019-01-08 07:58:37 -05:00
chelsio cxgb4/cxgb4vf: Link management changes 2019-01-22 20:41:48 -08:00
cirrus net: documentation: build a directory structure for drivers 2018-12-05 11:30:06 -08:00
cisco net: core: dev: Add extack argument to dev_open() 2018-12-06 13:26:06 -08:00
cortina
davicom davicom: Annotate implicit fall through in dm9000_set_io 2019-01-17 15:08:17 -08:00
dec net: documentation: build a directory structure for drivers 2018-12-05 11:30:06 -08:00
dlink net: documentation: build a directory structure for drivers 2018-12-05 11:30:06 -08:00
emulex cross-tree: phase out dma_zalloc_coherent() 2019-01-08 07:58:37 -05:00
ezchip
faraday cross-tree: phase out dma_zalloc_coherent() 2019-01-08 07:58:37 -05:00
freescale enetc: Add RFS and RSS support 2019-01-24 21:55:53 -08:00
fujitsu
hisilicon net: hns3: fix PFC not setting problem for DCB module 2019-01-23 11:13:02 -08:00
hp
huawei hinic: Add pci device ids 2019-01-22 14:54:08 -08:00
i825xx
ibm cross-tree: phase out dma_zalloc_coherent() 2019-01-08 07:58:37 -05:00
intel i40e: clean up several indentation issues 2019-01-22 08:42:03 -08:00
marvell Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-01-16 05:13:36 +12:00
mediatek Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-01-16 05:13:36 +12:00
mellanox net/mlx5e: RX, Make sure packet header does not cross page boundary 2019-01-25 12:16:13 -08:00
micrel
microchip lan743x: Remove phy_read from link status change function 2019-01-08 16:26:12 -05:00
moxa
mscc net: Add extack argument to ndo_fdb_add() 2019-01-17 15:18:47 -08:00
myricom cross-tree: phase out dma_zalloc_coherent() 2019-01-08 07:58:37 -05:00
natsemi
neterion net: vxge: fix indentation issue 2019-01-18 14:02:32 -08:00
netronome nfp: flower: enable MAC address sharing for offloadable devs 2019-01-16 15:23:15 -08:00
ni cross-tree: phase out dma_zalloc_coherent() 2019-01-08 07:58:37 -05:00
nuvoton w90p910_ether: remove incorrect __init annotation 2018-12-14 14:42:51 -08:00
nvidia
nxp
oki-semi cross-tree: phase out dma_zalloc_coherent() 2019-01-08 07:58:37 -05:00
packetengines
pasemi cross-tree: phase out dma_zalloc_coherent() 2019-01-08 07:58:37 -05:00
qlogic qed: Mark expected switch fall-through 2019-01-23 09:06:36 -08:00
qualcomm cross-tree: phase out dma_zalloc_coherent() 2019-01-08 07:58:37 -05:00
rdc
realtek r8169: factor out PHY init sequence adjusting 10M and ALDPS 2019-01-24 22:25:19 -08:00
renesas
rocker switchdev: Add extack argument to call_switchdev_notifiers() 2019-01-17 15:18:47 -08:00
samsung cross-tree: phase out dma_zalloc_coherent() 2019-01-08 07:58:37 -05:00
seeq
sfc sfc: extend MTD support for newer hardware 2019-01-17 12:10:14 -08:00
sgi cross-tree: phase out dma_zalloc_coherent() 2019-01-08 07:58:37 -05:00
silan
sis
smsc Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2018-12-27 13:04:52 -08:00
socionext cross-tree: phase out dma_zalloc_coherent() 2019-01-08 07:58:37 -05:00
stmicro net: stmmac: Fix return value check in qcom_ethqos_probe() 2019-01-24 22:13:03 -08:00
sun net: sungem: fix indentation, remove a tab 2019-01-16 14:04:59 -08:00
synopsys
tehuti
ti net: ethernet: ti: cpsw-phy-sel: remove unneeded semicolon 2019-01-17 22:05:16 -08:00
toshiba
tundra cross-tree: phase out dma_zalloc_coherent() 2019-01-08 07:58:37 -05:00
via
wiznet
xilinx cross-tree: phase out dma_zalloc_coherent() 2019-01-08 07:58:37 -05:00
xircom
xscale
dnet.c
dnet.h
ec_bhf.c
ethoc.c
fealnx.c
jme.c net: jme: fix indentation issues 2019-01-18 14:02:55 -08:00
jme.h
Kconfig
korina.c
lantiq_etop.c
lantiq_xrx200.c
Makefile
netx-eth.c