linux_dsm_epyc7002/drivers/net/ethernet
Mel Gorman 0614002bb5 netvm: propagate page->pfmemalloc from skb_alloc_page to skb
The skb->pfmemalloc flag gets set to true iff during the slab allocation
of data in __alloc_skb that the the PFMEMALLOC reserves were used.  If
page splitting is used, it is possible that pages will be allocated from
the PFMEMALLOC reserve without propagating this information to the skb.
This patch propagates page->pfmemalloc from pages allocated for fragments
to the skb.

It works by reintroducing and expanding the skb_alloc_page() API to take
an skb.  If the page was allocated from pfmemalloc reserves, it is
automatically copied.  If the driver allocates the page before the skb, it
should call skb_propagate_pfmemalloc() after the skb is allocated to
ensure the flag is copied properly.

Failure to do so is not critical.  The resulting driver may perform slower
if it is used for swap-over-NBD or swap-over-NFS but it should not result
in failure.

[davem@davemloft.net: API rename and consistency]
Signed-off-by: Mel Gorman <mgorman@suse.de>
Acked-by: David S. Miller <davem@davemloft.net>
Cc: Neil Brown <neilb@suse.de>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Mike Christie <michaelc@cs.wisc.edu>
Cc: Eric B Munson <emunson@mgebm.net>
Cc: Eric Dumazet <eric.dumazet@gmail.com>
Cc: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
Cc: Mel Gorman <mgorman@suse.de>
Cc: Christoph Lameter <cl@linux.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-07-31 18:42:46 -07:00
..
3com drivers/net/ethernet: Fix (nearly-)kernel-doc comments for various functions 2012-07-10 23:13:46 -07:00
8390 net: add support for NS8390 based eth controllers on some ColdFire CPU boards 2012-07-12 07:54:45 -07:00
adaptec
adi
aeroflex ethernet: Remove casts to same type 2012-06-06 09:31:33 -07:00
alteon
amd lance: remove unnecessary setting of skb->dev 2012-07-10 23:24:56 -07:00
apple ethernet: Remove casts to same type 2012-06-06 09:31:33 -07:00
atheros atl1c: fix issue of io access mode for AR8152 v2.1 2012-07-20 11:21:18 -07:00
broadcom Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2012-07-26 18:09:01 -07:00
brocade drivers/net/ethernet: Fix non-kernel-doc comments with kernel-doc start markers 2012-07-10 23:13:46 -07:00
cadence net/macb: manage carrier state with call to netif_carrier_{on|off}() 2012-07-09 00:03:06 -07:00
calxeda net: calxedaxgmac: enable rx cut-thru mode 2012-07-10 23:25:47 -07:00
chelsio netvm: propagate page->pfmemalloc from skb_alloc_page to skb 2012-07-31 18:42:46 -07:00
cirrus cirrus: cs89x0: Remove function prototypes and reorder declarations 2012-05-18 23:48:07 -04:00
cisco enic: remove unnecessary setting of skb->dev 2012-07-10 23:24:56 -07:00
davicom dm9000: some coldfire boards need this 2012-05-14 18:40:16 -04:00
dec ethernet: Remove casts to same type 2012-06-06 09:31:33 -07:00
dlink Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2012-05-07 23:35:40 -04:00
emulex be2net: Fix to parse RSS hash from Receive completions correctly. 2012-07-26 01:13:20 -07:00
faraday net: ftgmac100/ftmac100: dont pull too much data 2012-07-18 09:40:53 -07:00
freescale Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2012-07-10 23:56:33 -07:00
fujitsu drivers/net: delete all code/drivers depending on CONFIG_MCA 2012-05-17 16:37:41 -04:00
hp ethernet: Remove casts to same type 2012-06-06 09:31:33 -07:00
i825xx ethernet: Remove casts to same type 2012-06-06 09:31:33 -07:00
ibm drivers/net/ethernet: Fix non-kernel-doc comments with kernel-doc start markers 2012-07-10 23:13:46 -07:00
icplus
intel netvm: propagate page->pfmemalloc from skb_alloc_page to skb 2012-07-31 18:42:46 -07:00
marvell Merge branch 'v3.5-rc7-fixes' of git://github.com/lunn/linux into fixes 2012-07-25 21:37:09 +02:00
mellanox Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2012-07-26 18:09:01 -07:00
micrel ethernet: Use eth_random_addr 2012-07-16 22:38:27 -07:00
microchip
myricom myri10ge: set maximal number of default RSS queues 2012-07-05 03:06:44 -07:00
natsemi drivers/net: delete all code/drivers depending on CONFIG_MCA 2012-05-17 16:37:41 -04:00
neterion net: fix race condition in several drivers when reading stats 2012-07-22 12:12:32 -07:00
nuvoton
nvidia forcedeth: advertise transmit time stamping 2012-07-22 12:33:32 -07:00
nxp lpc_eth: remove duplicated include 2012-07-16 22:16:40 -07:00
octeon netdev: octeon_mgmt: Convert to use device tree. 2012-07-23 13:54:53 +01:00
oki-semi pch_gbe: vlan skb len fix 2012-07-26 14:30:23 -07:00
packetengines
pasemi net/pasemi: fix compiler warning 2012-05-02 20:52:48 -04:00
qlogic qlge: fix an "&&" vs "||" bug 2012-07-18 09:40:53 -07:00
racal
rdc r6040: use module_pci_driver macro 2012-07-09 14:42:30 -07:00
realtek r8169: revert "add byte queue limit support". 2012-07-23 18:27:00 -07:00
renesas net: sh_eth: add support for set_ringparam/get_ringparam 2012-06-27 01:24:16 -07:00
seeq
sfc sfc: initialize dynamic sysfs attributes for lockdep 2012-07-19 10:48:08 -07:00
sgi ethernet: Remove casts to same type 2012-06-06 09:31:33 -07:00
silan
sis
smsc ethernet: Use eth_random_addr 2012-07-16 22:38:27 -07:00
stmicro net/stmmac: remove conditional compilation of clk code 2012-07-30 17:25:12 -07:00
sun niu: Change niu_rbr_fill() to use unlikely() to check niu_rbr_add_page() return value 2012-07-22 23:31:07 -07:00
tehuti drivers/net/ethernet: Fix (nearly-)kernel-doc comments for various functions 2012-07-10 23:13:46 -07:00
ti net: ethernet: davinci_emac: add pm_runtime support 2012-07-22 12:46:42 -07:00
tile tilegx net: use eth_hw_addr_random(), not eth_random_addr() 2012-07-18 15:07:45 -04:00
toshiba drivers/net/ethernet: Fix (nearly-)kernel-doc comments for various functions 2012-07-10 23:13:46 -07:00
tundra
via ethernet: Remove casts to same type 2012-06-06 09:31:33 -07:00
wiznet net: wiznet add missing HAS_IOMEM dependency 2012-07-25 15:24:13 -07:00
xilinx ethernet: Use eth_random_addr 2012-07-16 22:38:27 -07:00
xircom
xscale
dnet.c
dnet.h
ethoc.c ethernet: Use eth_random_addr 2012-07-16 22:38:27 -07:00
fealnx.c
jme.c jme: netpoll support 2012-07-18 09:40:54 -07:00
jme.h
Kconfig
korina.c
lantiq_etop.c ethernet: Use eth_random_addr 2012-07-16 22:38:27 -07:00
Makefile
mipsnet.c
netx-eth.c
s6gmac.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2012-05-22 19:22:50 -07:00