linux_dsm_epyc7002/drivers/net/ethernet
Jiong Wang 86c28b2d69 nfp: bpf: fix latency bug when updating stack index register
NFP is using Local Memory to model stack. LM_addr could be used as base of
a 16 32-bit word region of Local Memory. Then, if the stack offset is
beyond the current region, the local index needs to be updated. The update
needs at least three cycles to take effect, therefore the sequence normally
looks like:

  local_csr_wr[ActLMAddr3, gprB_5]
  nop
  nop
  nop

If the local index switch happens on a narrow loads, then the instruction
preparing value to zero high 32-bit of the destination register could be
counted as one cycle, the sequence then could be something like:

  local_csr_wr[ActLMAddr3, gprB_5]
  nop
  nop
  immed[gprB_5, 0]

However, we have zero extension optimization that zeroing high 32-bit could
be eliminated, therefore above IMMED insn won't be available for which case
the first sequence needs to be generated.

Fixes: 0b4de1ff19 ("nfp: bpf: eliminate zero extension code-gen")
Signed-off-by: Jiong Wang <jiong.wang@netronome.com>
Reviewed-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
2019-08-26 23:03:05 +02:00
..
3com
8390 net: 8390: Fix manufacturer name in Kconfig help text 2019-08-01 13:45:48 -04:00
adaptec
aeroflex
agere net: ethernet: et131x: Use GFP_KERNEL instead of GFP_ATOMIC when allocating tx_ring->tcb_ring 2019-07-31 08:33:30 -07:00
alacritech treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 235 2019-06-19 17:09:07 +02:00
allwinner net: ethernet: sun4i-emac: Support phy-handle property for finding PHYs 2019-08-06 11:29:16 -07:00
alteon
altera
amazon Revert "net: ena: ethtool: add extra properties retrieval via get_priv_flags" 2019-06-26 09:07:39 -07:00
amd net: amd: Spelling s/case/cause/ 2019-08-01 13:45:48 -04:00
apm
apple net: apple: Fix manufacturer name in Kconfig help text 2019-08-01 13:45:48 -04:00
aquantia Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-06-27 21:06:39 -07:00
arc treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
atheros net: ag71xx: Use GFP_KERNEL instead of GFP_ATOMIC in 'ag71xx_rings_init()' 2019-07-31 08:38:36 -07:00
aurora
broadcom bnxt_en: Fix to include flow direction in L2 key 2019-08-18 13:05:01 -07:00
brocade
cadence Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-07-08 19:48:57 -07:00
calxeda net/ethernet: using dev_get_drvdata directly 2019-07-05 15:25:04 -07:00
cavium net: cavium: fix driver name 2019-08-18 14:02:06 -07:00
chelsio cxgb4: fix a memory leak bug 2019-08-14 20:03:42 -07:00
cirrus
cisco
cortina
davicom
dec
dlink
emulex be2net: disable bh with spin_lock in be_process_mcc 2019-08-06 11:47:19 -07:00
ezchip net: nps_enet: Fix function names in doc comments 2019-08-11 21:32:33 -07:00
faraday Linux 5.2-rc4 2019-06-14 14:18:53 -06:00
freescale enetc: Select PHYLIB while CONFIG_FSL_ENETC_VF is set 2019-08-02 18:15:02 -07:00
fujitsu
google gve: Copy and paste bug in gve_get_stats() 2019-08-21 20:50:26 -07:00
hisilicon net: hisilicon: Fix dma_map_single failed on arm64 2019-08-06 14:14:01 -07:00
hp
huawei hinic: add fw version query 2019-07-07 22:15:12 -07:00
i825xx treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
ibm ibmvnic: Unmap DMA address of TX descriptor buffers after use 2019-08-18 13:57:31 -07:00
intel ixgbe: fix possible deadlock in ixgbe_service_task() 2019-08-09 13:17:00 -07:00
marvell drivers/net/ethernet/marvell/mvmdio.c: Fix non OF case 2019-08-05 13:30:48 -07:00
mediatek net: mediatek: Drop unneeded dependency on NET_VENDOR_MEDIATEK 2019-07-31 08:53:26 -07:00
mellanox net/mlx5e: Remove ethernet segment from dump WQE 2019-08-22 13:38:48 -07:00
micrel treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
microchip treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
moxa
mscc ocelot_ace: fix action of trap 2019-08-22 15:44:24 -07:00
myricom net: myri10ge: fix memory leaks 2019-08-15 12:44:58 -07:00
natsemi
neterion ethernet: remove redundant memset 2019-07-15 11:06:27 -07:00
netronome nfp: bpf: fix latency bug when updating stack index register 2019-08-26 23:03:05 +02:00
ni net: nixge: Spelling s/Instrument/Instruments/ 2019-08-01 13:45:49 -04:00
nuvoton
nvidia
nxp
oki-semi
packetengines net: packetengines: Fix manufacturer spelling and capitalization 2019-08-01 13:45:49 -04:00
pasemi net: pasemi: fix an use-after-free in pasemi_mac_phy_init() 2019-07-08 16:33:02 -07:00
qlogic qed: Add cleanup in qed_slowpath_start() 2019-08-22 16:11:31 -07:00
qualcomm net: qualcomm: rmnet: Fix incorrect UL checksum offload logic 2019-07-26 14:20:06 -07:00
rdc
realtek Revert "r8169: remove not needed call to dma_sync_single_for_device" 2019-08-23 15:11:26 -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: samsung: Spelling s/case/cause/ 2019-08-01 13:45:49 -04:00
seeq treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
sfc sfc: Remove 'PCIE error reporting unavailable' 2019-07-08 12:16:48 -07:00
sgi
silan
sis sis900: correct a few typos 2019-07-14 12:22:11 -07:00
smsc net: smc911x: Mark expected switch fall-through 2019-07-29 15:13:10 -07:00
socionext net: netsec: remove static declaration for netsec_set_tx_de() 2019-07-09 14:46:40 -07:00
stmicro net: sched: use major priority number as hardware priority 2019-08-18 14:13:23 -07:00
sun net: ethernet: sun: remove redundant assignment to variable err 2019-07-04 12:12:13 -07:00
synopsys
tehuti
ti net: cpsw: fix NULL pointer exception in the probe error path 2019-08-21 13:58:15 -07:00
toshiba net: tc35815: Explicitly check NET_IP_ALIGN is not zero in tc35815_rx 2019-08-11 21:41:48 -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
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 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
dnet.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
ec_bhf.c
ethoc.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
fealnx.c
jme.c ethernet: remove redundant memset 2019-07-15 11:06:27 -07:00
jme.h
Kconfig gve: Add basic driver framework for Compute Engine Virtual NIC 2019-07-01 19:36:35 -07:00
korina.c
lantiq_etop.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234 2019-06-19 17:09:07 +02:00
lantiq_xrx200.c
Makefile gve: Add basic driver framework for Compute Engine Virtual NIC 2019-07-01 19:36:35 -07:00
netx-eth.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234 2019-06-19 17:09:07 +02:00