From: Alexander Duyck <alexander.duyck@gmail.com>
To: intel-wired-lan@lists.osuosl.org, jeffrey.t.kirsher@intel.com
Cc: netdev@vger.kernel.org
Subject: [next PATCH 00/11] ixgbe: Add support for writable pages and build_skb
Date: Fri, 06 Jan 2017 08:06:16 -0800 [thread overview]
Message-ID: <20170106155448.1501.31298.stgit@localhost.localdomain> (raw)
This patch set enables support for using the recent changes that allow for
unmapping pages without invalidating their contents via
DMA_ATTR_SKIP_CPU_SYNC. With this change DMA pages should be writable and
as a result we should be able to make use of build_skb which can be used to
drop the skb->head memory allocation, header parsing, and memcpy from the
receive path which can greatly help to improve performance.
My main concern at this point is that there might be an architecture where
I didn't get DMA_ATTR_SKIP_CPU_SYNC implemented that might still need it.
For that reason I have also added a ethtool private flag called out as
"legacy-rx". If a platform encounters an issue where the Rx can possibly
corrupt data it can be enbled by running:
ethtool --set-priv-flags DEVNAME legacy-rx on
The testing matrix for all of these patches is going to be pretty
extensive. Basically we want to test these patches on as many platforms
and architectures as possible with as many features being toggled as
possible including RSC, FCoE, SR-IOV, and Jumbo Frames all while receiving
traffic.
Within the patches there is also some intialization changes. Specifically
I have updated the code paths to defer clearing the rings until we are
about to initialize them and give them to hardware. By doing this we are
able to avoid having to dirty memory we don't need to which should help to
improve suspend/resume times for when we start looking at possibly using
the suspend/resume approach for migration of interface in VMs.
---
Alexander Duyck (11):
ixgbe: Add function for checking to see if we can reuse page
ixgbe: Only DMA sync frame length
ixgbe: Update driver to make use of DMA attributes in Rx path
ixgbe: Update code to better handle incrementing page count
ixgbe: Make use of order 1 pages and 3K buffers independent of FCoE
ixgbe: Use length to determine if descriptor is done
ixgbe: Break out Rx buffer page management
ixgbe: Add support for padding packet
ixgbe: Add private flag to control buffer mode
ixgbe: Add support for build_skb
ixgbe: Don't bother clearing buffer memory for descriptor rings
drivers/net/ethernet/intel/ixgbe/ixgbe.h | 45 +-
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c | 58 ++
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 584 ++++++++++++++--------
3 files changed, 465 insertions(+), 222 deletions(-)
next reply other threads:[~2017-01-06 16:06 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-06 16:06 Alexander Duyck [this message]
2017-01-06 16:06 ` [next PATCH 01/11] ixgbe: Add function for checking to see if we can reuse page Alexander Duyck
2017-01-06 16:06 ` [next PATCH 02/11] ixgbe: Only DMA sync frame length Alexander Duyck
2017-01-06 16:06 ` [next PATCH 03/11] ixgbe: Update driver to make use of DMA attributes in Rx path Alexander Duyck
2017-01-06 16:06 ` [next PATCH 04/11] ixgbe: Update code to better handle incrementing page count Alexander Duyck
2017-01-07 13:06 ` kbuild test robot
2017-01-06 16:07 ` [next PATCH 05/11] ixgbe: Make use of order 1 pages and 3K buffers independent of FCoE Alexander Duyck
2017-01-06 16:07 ` [next PATCH 06/11] ixgbe: Use length to determine if descriptor is done Alexander Duyck
2017-01-06 16:07 ` [next PATCH 07/11] ixgbe: Break out Rx buffer page management Alexander Duyck
2017-01-06 16:07 ` [next PATCH 08/11] ixgbe: Add support for padding packet Alexander Duyck
2017-01-06 16:07 ` [next PATCH 09/11] ixgbe: Add private flag to control buffer mode Alexander Duyck
2017-01-06 16:07 ` [next PATCH 10/11] ixgbe: Add support for build_skb Alexander Duyck
2017-01-06 16:07 ` [next PATCH 11/11] ixgbe: Don't bother clearing buffer memory for descriptor rings Alexander Duyck
2017-01-06 21:41 ` [next PATCH 00/11] ixgbe: Add support for writable pages and build_skb David Miller
2017-01-07 1:12 ` Jeff Kirsher
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170106155448.1501.31298.stgit@localhost.localdomain \
--to=alexander.duyck@gmail.com \
--cc=intel-wired-lan@lists.osuosl.org \
--cc=jeffrey.t.kirsher@intel.com \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).