linux_dsm_epyc7002/drivers/net/ethernet/intel/ixgbe
Alexander Duyck ffed21bcee ixgbe: Don't bother clearing buffer memory for descriptor rings
This patch makes it so that we don't need to bother with clearing the
memory out for the descriptor rings.  The general idea is to only free
buffers associated with buffers in use which are located between the
next_to_clean and next_to_use or next_to_alloc values.  Everything outside
of those regions can be safely ignored since they should have no buffers
associated with them.

The advantage to doing things this way is that is should speed up bring-up
and tear-down of the rings.  Specifically we can avoid the 512 or more
cycles required to memset the rings in tear-down.  In the bring-up phase we
then clear the memory as a part of initialization.  The general idea is
that the clearing in initialization can act as a prefetch of sorts for the
buffer info structures so they are in the local CPU when we go to populate
them.  This should help to improve overall time needed to perform a
suspend/resume.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2017-02-16 04:02:44 -08:00
..
ixgbe_82598.c ixgbe: Remove unused firmware version functions and method 2017-01-03 13:03:38 -08:00
ixgbe_82599.c ixgbe: Remove unused firmware version functions and method 2017-01-03 13:03:38 -08:00
ixgbe_common.c net:add one common config ARCH_WANT_RELAX_ORDER to support relax ordering 2017-01-18 16:33:00 -05:00
ixgbe_common.h ixgbe: Implement firmware interface to access some PHYs 2017-01-03 13:03:39 -08:00
ixgbe_dcb_82598.c
ixgbe_dcb_82598.h
ixgbe_dcb_82599.c
ixgbe_dcb_82599.h
ixgbe_dcb_nl.c ixgbe: prefix Data Center Bridge ops struct 2017-02-16 04:02:44 -08:00
ixgbe_dcb.c
ixgbe_dcb.h
ixgbe_debugfs.c
ixgbe_ethtool.c ixgbe: Don't bother clearing buffer memory for descriptor rings 2017-02-16 04:02:44 -08:00
ixgbe_fcoe.c
ixgbe_fcoe.h
ixgbe_lib.c ixgbe: get rid of custom busy polling code 2017-02-03 17:17:52 -05:00
ixgbe_main.c ixgbe: Don't bother clearing buffer memory for descriptor rings 2017-02-16 04:02:44 -08:00
ixgbe_mbx.c
ixgbe_mbx.h ixgbe: Add PF support for VF promiscuous mode 2017-01-03 13:03:40 -08:00
ixgbe_model.h
ixgbe_phy.c ixgbe: Support 2.5Gb and 5Gb speed 2017-02-16 04:02:44 -08:00
ixgbe_phy.h ixgbe: Remove unused firmware version functions and method 2017-01-03 13:03:38 -08:00
ixgbe_ptp.c ixgbe: Fix incorrect bitwise operations of PTP Rx timestamp flags 2017-01-03 13:03:37 -08:00
ixgbe_sriov.c ixgbe: Add PF support for VF promiscuous mode 2017-01-03 13:03:40 -08:00
ixgbe_sriov.h net: Update API for VF vlan protocol 802.1ad support 2016-09-24 08:01:26 -04:00
ixgbe_sysfs.c
ixgbe_type.h ixgbe: Add PF support for VF promiscuous mode 2017-01-03 13:03:40 -08:00
ixgbe_x540.c ixgbe: Remove unused firmware version functions and method 2017-01-03 13:03:38 -08:00
ixgbe_x540.h
ixgbe_x550.c ixgbe: Implement support for firmware-controlled PHYs 2017-01-03 13:03:39 -08:00
ixgbe.h ixgbe: Add support for padding packet 2017-02-16 04:02:44 -08:00
Makefile