[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20170317195818.74912-1-jeffrey.t.kirsher@intel.com>
Date: Fri, 17 Mar 2017 12:58:05 -0700
From: Jeff Kirsher <jeffrey.t.kirsher@...el.com>
To: davem@...emloft.net
Cc: Jeff Kirsher <jeffrey.t.kirsher@...el.com>, netdev@...r.kernel.org,
nhorman@...hat.com, sassmann@...hat.com, jogreene@...hat.com
Subject: [net-next 00/13][pull request] 1GbE Intel Wired LAN Driver Updates 2017-03-17
This series contains updates to mainly igb, with one fix for ixgbe.
Alex does all the changes in the series, starting with adding support
for DMA_ATTR_WEAK_ORDERING to improve performance on some platforms.
Modified igb to use the length of the packet instead of the DD status
bit to determine if a new descriptor is ready to be processed. Modified
the driver to only go through the region in the receive ring that was
designated to be cleaned up, instead of going through the entire ring
on cleanup. Cleaned up the transmit side, by clearing the transmit
buffer_info only when resetting the rings. Added a new upper limit for
receive, which is based on the size of a 2K buffer minus padding, which
will allow us to support build_skb going forward. Fixed ethtool testing
to only sync on the size of the frame that is being tested, instead of
the entire receive buffer. Updated the handling of page addresses to
always use a void pointer with the consistent name of "va" to indicate
that we are working with a virtual address. Added a "chicken bit" so
that we can turn off the new receive allocation feature, in the case
where we need to fallback to the legacy receive path. Added support for
using 3K buffers in order 1 pages the same way we were using 2K buffers
in 4K pages. Added support for padding packet, since we limit the size
of the frame, we are able to write to an offset within the buffer instead
of having to write at the very start of the buffer. This allows us to
leaving padding room for things like supporting XDP in the future.
Refactored the receive buffer page management, since there are 2-3 paths
that can be taken depending on what receive modes are enabled, so to
improve maintainability, break out the common bits into their own
functions. Add support for build_skb, again. Lastly, fixed a typo in
igb and ixgbe code comments.
The following are changes since commit fe723dff0fa4181ddb8116e72bc67d00d4239cb6:
liquidio: fix wrong information about link modes reported to ethtool
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue 1GbE
Alexander Duyck (13):
igb: Add support for DMA_ATTR_WEAK_ORDERING
igb: Use length to determine if descriptor is done
igb: Clear Rx buffer_info in configure instead of clean
igb: Don't bother clearing Tx buffer_info in igb_clean_tx_ring
igb: Limit maximum frame Rx based on MTU
igb: Only sync size of expected frame in ethtool testing
igb: Use page_address offset from page instead of masking virtual
address
igb: Add support for ethtool private flag to allow use of legacy Rx
igb: Add support for using order 1 pages to receive large frames
igb: Add support for padding packet
igb: Break out Rx buffer page management
igb: Re-add support for build_skb in igb
igb/ixgbe: Fix typo in igb_build_skb and/or ixgbe_build_skb code
comment
drivers/net/ethernet/intel/igb/igb.h | 58 ++-
drivers/net/ethernet/intel/igb/igb_ethtool.c | 65 +++-
drivers/net/ethernet/intel/igb/igb_main.c | 514 ++++++++++++++++----------
drivers/net/ethernet/intel/igb/igb_ptp.c | 3 +-
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 2 +-
5 files changed, 439 insertions(+), 203 deletions(-)
--
2.12.0
Powered by blists - more mailing lists