linux/drivers/net/ethernet/broadcom
Michal Schmidt 996dedbafe bnx2x: avoid atomic allocations during initialization
During initialization bnx2x allocates significant amounts of memory
(for rx data, rx SGEs, TPA pool) using atomic allocations.

I received a report where bnx2x failed to allocate SGEs and it had
to fall back to TPA-less operation.

Let's use GFP_KERNEL allocations during initialization, which runs
in process context. Add gfp_t parameters to functions that are used
both in initialization and in the receive path.

Use an unlikely branch in bnx2x_frag_alloc() to avoid atomic allocation
by netdev_alloc_frag(). The branch is taken several thousands of times
during initialization, but then never more. Note that fp->rx_frag_size
is never greater than PAGE_SIZE, so __get_free_page() can be used here.

Signed-off-by: Michal Schmidt <mschmidt@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2013-09-11 15:43:54 -04:00
..
bnx2x bnx2x: avoid atomic allocations during initialization 2013-09-11 15:43:54 -04:00
b44.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux into mips-for-linux-next 2013-02-22 10:07:30 +01:00
b44.h b44: add 64 bit stats 2012-07-18 09:29:43 -07:00
bcm63xx_enet.c net: bcm63xx_enet: use dev_get_platdata() 2013-08-30 17:43:35 -04:00
bcm63xx_enet.h bcm63xx_enet: add support Broadcom BCM6345 Ethernet 2013-06-13 17:22:08 -07:00
bgmac.c drivers:net: Remove unnecessary OOM messages after netdev_alloc_skb 2013-03-09 16:09:19 -05:00
bgmac.h bgmac: register MII bus 2013-03-07 16:28:26 -05:00
bnx2_fw.h
bnx2.c drivers:net: Convert dma_alloc_coherent(...__GFP_ZERO) to dma_zalloc_coherent 2013-08-29 21:55:23 -04:00
bnx2.h bnx2: Update version to 2.2.4 2013-08-07 10:44:08 -07:00
cnic_defs.h cnic: Update version to 2.5.17 and copyright year. 2013-07-29 22:03:07 -07:00
cnic_if.h cnic: Update version to 2.5.18. 2013-09-04 00:27:27 -04:00
cnic.c cnic: Eliminate local copy of pfid. 2013-09-04 00:27:26 -04:00
cnic.h cnic: Eliminate local copy of pfid. 2013-09-04 00:27:26 -04:00
Kconfig Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem 2013-08-12 14:45:06 -04:00
Makefile bgmac: driver for GBit MAC core on BCMA bus 2013-01-09 23:37:03 -08:00
sb1250-mac.c net: ethernet: use platform_{get,set}_drvdata() 2013-05-25 21:27:58 -07:00
tg3.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-09-05 14:58:52 -04:00
tg3.h tg3: Fix UDP fragments treated as RMCP 2013-07-29 23:38:52 -07:00