linux/drivers/net/ethernet
Maciej Fijalkowski 03c66a1376 ice: Introduce bulk update for page count
{get,put}_page are atomic operations which we use for page count
handling. The current logic for refcount handling is that we increment
it when passing a skb with the data from the first half of page up to
netstack and recycle the second half of page. This operation protects us
from losing a page since the network stack can decrement the refcount of
page from skb.

The performance can be gently improved by doing the bulk updates of
refcount instead of doing it one by one. During the buffer initialization,
maximize the page's refcount and don't allow the refcount to become
less than two.

Signed-off-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
Signed-off-by: Anirudh Venkataramanan <anirudh.venkataramanan@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2019-03-25 09:33:13 -07:00
..
3com net: 3com: replace dev_kfree_skb_irq by dev_consume_skb_irq for drop profiles 2019-02-14 12:43:15 -05:00
8390 mac8390: Fix mmio access size probe 2019-03-18 16:56:57 -07:00
adaptec net: adaptec: starfire: replace dev_kfree_skb_irq by dev_consume_skb_irq for drop profiles 2019-02-14 12:43:15 -05:00
aeroflex
agere
alacritech
allwinner
alteon
altera
amazon net: remove 'fallback' argument from dev->ndo_select_queue() 2019-03-20 11:18:55 -07:00
amd net: amd: replace dev_kfree_skb_irq by dev_consume_skb_irq for drop profiles 2019-02-14 11:56:36 -05:00
apm
apple net: apple: replace dev_kfree_skb_irq by dev_consume_skb_irq for drop profiles 2019-02-13 20:50:42 -08:00
aquantia net: aquantia: enable driver build for arm64 or compile_test 2019-03-23 22:16:53 -04:00
arc net: arc_emac: replace dev_kfree_skb_irq by dev_consume_skb_irq for drop profiles 2019-02-14 12:43:15 -05:00
atheros Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-02-24 12:06:19 -08:00
aurora
broadcom net: devlink: select NET_DEVLINK from drivers 2019-03-24 14:55:31 -04:00
brocade
cadence net: macb: simplify getting .driver_data 2019-03-19 14:28:55 -07:00
calxeda
cavium net: devlink: select NET_DEVLINK from drivers 2019-03-24 14:55:31 -04:00
chelsio net: remove 'fallback' argument from dev->ndo_select_queue() 2019-03-20 11:18:55 -07:00
cirrus
cisco enic: fix build warning without CONFIG_CPUMASK_OFFSTACK 2019-03-07 09:41:08 -08:00
cortina
davicom
dec Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-02-08 15:00:17 -08:00
dlink net:dl2k: Replace dev_kfree_skb_irq by dev_consume_skb_irq 2019-02-14 12:25:24 -05:00
emulex
ezchip
faraday drivers: net: Remove unnecessary semicolon 2019-03-01 23:13:49 -08:00
freescale ARM: SoC driver updates for 5.1 2019-03-06 09:41:12 -08:00
fujitsu net: fujitsu: fix a potential NULL pointer dereference 2019-03-12 14:48:35 -07:00
hisilicon net: Add IANA_VXLAN_UDP_PORT definition to vxlan header file 2019-03-22 12:09:31 -07:00
hp
huawei
i825xx net: i825xx: replace dev_kfree_skb_irq by dev_consume_skb_irq for drop profiles 2019-02-14 12:43:14 -05:00
ibm ibmveth: Make array ibmveth_stats static 2019-03-19 14:10:09 -07:00
intel ice: Introduce bulk update for page count 2019-03-25 09:33:13 -07:00
marvell sky2: Disable MSI on Dell Inspiron 1545 and Gateway P-79 2019-03-04 11:31:25 -08:00
mediatek drivers: net: Remove unnecessary semicolon 2019-03-01 23:13:49 -08:00
mellanox net: devlink: select NET_DEVLINK from drivers 2019-03-24 14:55:31 -04:00
micrel net: micrel: ks8695net: replace dev_kfree_skb_irq by dev_consume_skb_irq for drop profiles 2019-02-14 11:56:36 -05:00
microchip enc28j60: Convert to use SPDX identifier 2019-03-19 14:59:32 -07:00
moxa net: moxa: replace dev_kfree_skb_irq by dev_consume_skb_irq for drop profiles 2019-02-13 20:50:42 -08:00
mscc Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-03-04 13:26:15 -08:00
myricom net: myri10ge: replace dev_kfree_skb_irq by dev_consume_skb_irq for drop profiles 2019-02-14 11:56:36 -05:00
natsemi net: ns83820: code cleanup for ns83820_probe_phy() 2019-02-19 14:08:19 -08:00
neterion net: neterion: replace dev_kfree_skb_irq by dev_consume_skb_irq for drop profiles 2019-02-13 20:50:41 -08:00
netronome net: devlink: select NET_DEVLINK from drivers 2019-03-24 14:55:31 -04:00
ni
nuvoton net: nuvoton: w90p910_ether: replace dev_kfree_skb_irq by dev_consume_skb_irq for drop profiles 2019-02-14 11:56:36 -05:00
nvidia
nxp
oki-semi pci-v5.1-changes 2019-03-09 14:57:08 -08:00
packetengines net: packetengines: replace dev_kfree_skb_irq by dev_consume_skb_irq for drop profiles 2019-02-14 12:43:15 -05:00
pasemi net: pasemi: Make pasemi_mac_init_module static 2019-03-19 14:13:37 -07:00
qlogic net: remove 'fallback' argument from dev->ndo_select_queue() 2019-03-20 11:18:55 -07:00
qualcomm net: qualcomm: emac: replace dev_kfree_skb_irq by dev_consume_skb_irq for drop profiles 2019-02-13 20:50:42 -08:00
rdc
realtek r8169: use netif_start_queue instead of netif_wake_qeueue in rtl8169_start_xmit 2019-03-22 10:35:25 -04:00
renesas net: remove 'fallback' argument from dev->ndo_select_queue() 2019-03-20 11:18:55 -07:00
rocker net: rocker: fix a potential NULL pointer dereference 2019-03-11 16:17:31 -07:00
samsung
seeq
sfc Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-02-15 12:38:38 -08:00
sgi net: sgi: use GFP_ATOMIC under spin lock 2019-02-17 15:51:46 -08:00
silan
sis net: sis900: fix indentation issues, remove some spaces 2019-03-15 11:59:00 -07:00
smsc smc911x: pass struct device to DMA API functions 2019-02-12 12:09:24 -05:00
socionext
stmicro net: stmmac: fix jumbo frame sending with non-linear skbs 2019-03-15 11:38:57 -07:00
sun net: remove 'fallback' argument from dev->ndo_select_queue() 2019-03-20 11:18:55 -07:00
synopsys
tehuti net: tehuti: replace dev_kfree_skb_irq by dev_consume_skb_irq for drop profiles 2019-02-06 17:38:15 -08:00
ti Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-03-11 08:54:01 -07:00
toshiba
tundra
via net: via-velocity: replace dev_kfree_skb_irq by dev_consume_skb_irq for drop profiles 2019-02-06 17:38:15 -08:00
wiznet
xilinx net: xilinx: replace dev_kfree_skb_irq by dev_consume_skb_irq for drop profiles 2019-02-14 12:43:15 -05:00
xircom
xscale net: ixp4xx_eth: replace dev_kfree_skb_irq by dev_consume_skb_irq for drop profiles 2019-02-13 20:50:54 -08:00
dnet.c
dnet.h
ec_bhf.c
ethoc.c
fealnx.c net: fealnx: replace dev_kfree_skb_irq by dev_consume_skb_irq for drop profiles 2019-02-13 20:50:42 -08:00
jme.c
jme.h
Kconfig
korina.c
lantiq_etop.c lantiq_etop: pass struct device to DMA API functions 2019-02-12 12:09:23 -05:00
lantiq_xrx200.c net: lantiq: Do not use eth_change_mtu() 2019-02-24 17:35:42 -08:00
Makefile
netx-eth.c