linux/drivers/net/ethernet/intel/ixgbe
Jesper Dangaard Brouer a3a8749d34 ixgbe: bulk free SKBs during TX completion cleanup cycle
There is an opportunity to bulk free SKBs during reclaiming of
resources after DMA transmit completes in ixgbe_clean_tx_irq.  Thus,
bulk freeing at this point does not introduce any added latency.

Simply use napi_consume_skb() which were recently introduced.  The
napi_budget parameter is needed by napi_consume_skb() to detect if it
is called from netpoll.

Benchmarking IPv4-forwarding, on CPU i7-4790K @4.2GHz (no turbo boost)
 Single CPU/flow numbers: before: 1982144 pps ->  after : 2064446 pps
 Improvement: +82302 pps, -20 nanosec, +4.1%
 (SLUB and GCC version 5.1.1 20150618 (Red Hat 5.1.1-4))

Joint work with Alexander Duyck.

Signed-off-by: Alexander Duyck <alexander.h.duyck@redhat.com>
Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-02-11 11:59:10 -05:00
..
ixgbe_82598.c ixgbe: Add support for adding/removing VLAN on PF bypassing the VLVF 2015-12-12 01:29:28 -08:00
ixgbe_82599.c ixgbe: Clear stale pool mappings 2015-12-12 02:05:21 -08:00
ixgbe_common.c ixgbe: Clear stale pool mappings 2015-12-12 02:05:21 -08:00
ixgbe_common.h ixgbe: Add support for adding/removing VLAN on PF bypassing the VLVF 2015-12-12 01:29:28 -08:00
ixgbe_dcb_82598.c ixgbe: convert low_water into an array 2014-04-22 23:07:11 -07:00
ixgbe_dcb_82598.h
ixgbe_dcb_82599.c ixgbe: fix broken PFC with X550 2016-01-08 03:54:08 -08:00
ixgbe_dcb_82599.h ixgbe: clean up checkpatch warnings about CODE_INDENT and LEADING_SPACE 2014-05-23 05:24:04 -07:00
ixgbe_dcb_nl.c ixgbe: Add new support for X550 MAC's 2014-11-11 06:18:56 -08:00
ixgbe_dcb.c ixgbe: Fill at least min credits to a TC credit refills 2016-01-08 03:25:14 -08:00
ixgbe_dcb.h IXGBE: Set the SW prio_tc values at initialization to the HW setting. 2013-05-21 03:14:21 -07:00
ixgbe_debugfs.c ixgbe: don't check NULL for debugfs_remove_recursive 2014-05-23 05:28:24 -07:00
ixgbe_ethtool.c ixgbe: do not call check_link for ethtool in ixgbe_get_settings() 2016-01-08 03:57:49 -08:00
ixgbe_fcoe.c ixgbe: Fix MDD events generated when FCoE+SRIOV are enabled 2016-01-08 04:15:00 -08:00
ixgbe_fcoe.h ixgbe: adds x550 specific FCoE offloads 2015-04-10 00:15:55 -07:00
ixgbe_lib.c net: provide generic busy polling to all NAPI drivers 2015-11-18 16:17:42 -05:00
ixgbe_main.c ixgbe: bulk free SKBs during TX completion cleanup cycle 2016-02-11 11:59:10 -05:00
ixgbe_mbx.c ixgbe: Add new support for X550 MAC's 2014-11-11 06:18:56 -08:00
ixgbe_mbx.h ixgbe, ixgbevf: Add new mbox API xcast mode 2015-10-23 05:52:26 -07:00
ixgbe_phy.c ixgbe: Always turn PHY power on when requested 2015-12-03 02:45:13 -08:00
ixgbe_phy.h ixgbe: Add logic to reset CS4227 when needed 2015-09-23 22:34:29 -07:00
ixgbe_ptp.c ixgbe: Update PTP to support X550EM_x devices 2015-12-03 02:32:12 -08:00
ixgbe_sriov.c ixgbe: Fix bugs in ixgbe_clear_vf_vlans() 2015-12-29 19:16:08 -08:00
ixgbe_sriov.h ixgbe: Add new ndo to trust VF 2015-10-23 05:48:53 -07:00
ixgbe_sysfs.c ixgbe: add Linux NICS mailing list to contact info 2014-03-12 19:05:30 -07:00
ixgbe_type.h ixgbe: Fix MDD events generated when FCoE+SRIOV are enabled 2016-01-08 04:15:00 -08:00
ixgbe_x540.c ixgbe: Clear stale pool mappings 2015-12-12 02:05:21 -08:00
ixgbe_x540.h ixgbe: Add X550 support function pointers 2014-12-05 09:13:07 -08:00
ixgbe_x550.c ixgbe: Correct X550EM_x revision check 2015-12-29 19:16:07 -08:00
ixgbe.h ixgbe: fix RSS limit for X550 2015-12-29 19:16:07 -08:00
Makefile ixgbe: Add X550 support function pointers 2014-12-05 09:13:07 -08:00