netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: David Awogbemila <awogbemila@google.com>
To: netdev@vger.kernel.org
Cc: alexander.duyck@gmail.com, saeed@kernel.org,
	eric.dumazet@gmail.com, David Awogbemila <awogbemila@google.com>
Subject: [PATCH net-next v9 0/4] GVE Raw Addressing
Date: Wed,  2 Dec 2020 10:24:09 -0800	[thread overview]
Message-ID: <20201202182413.232510-1-awogbemila@google.com> (raw)

Patchset description:
This  patchset introduces "raw addressing" mode to the GVE driver.
Previously (in "queue_page_list" or "qpl" mode), the driver would
pre-allocate and dma_map buffers to be used on egress and ingress.
On egress, it would copy data from the skb provided to the
pre-allocated buffers - this was expensive.
In raw addressing mode, the driver can avoid this copy and simply
dma_map the skb's data so that the NIC can use it.
On ingress, the driver passes buffers up to the networking stack and
then frees and reallocates buffers when necessary instead of using
skb_copy_to_linear_data.
Patch 3 separates the page refcount tracking mechanism
into a function gve_rx_can_recycle_buffer which uses get_page - this will
be changed in a future patch to eliminate the use of get_page in tracking
page refcounts.

Changes from v8:
Patch 4: Free skbs that are not sent in gve_tx().

Catherine Sullivan (3):
  gve: Add support for raw addressing device option
  gve: Add support for raw addressing to the rx path
  gve: Add support for raw addressing in the tx path

David Awogbemila (1):
  gve: Rx Buffer Recycling

 drivers/net/ethernet/google/gve/gve.h         |  39 +-
 drivers/net/ethernet/google/gve/gve_adminq.c  |  89 ++++-
 drivers/net/ethernet/google/gve/gve_adminq.h  |  15 +-
 drivers/net/ethernet/google/gve/gve_desc.h    |  19 +-
 drivers/net/ethernet/google/gve/gve_ethtool.c |   2 +
 drivers/net/ethernet/google/gve/gve_main.c    |  11 +-
 drivers/net/ethernet/google/gve/gve_rx.c      | 364 +++++++++++++-----
 drivers/net/ethernet/google/gve/gve_tx.c      | 202 ++++++++--
 8 files changed, 577 insertions(+), 164 deletions(-)

-- 
2.29.2.576.ga3fc446d84-goog


             reply	other threads:[~2020-12-02 18:25 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-02 18:24 David Awogbemila [this message]
2020-12-02 18:24 ` [PATCH net-next v9 1/4] gve: Add support for raw addressing device option David Awogbemila
2020-12-02 18:24 ` [PATCH net-next v9 2/4] gve: Add support for raw addressing to the rx path David Awogbemila
2020-12-02 18:24 ` [PATCH net-next v9 3/4] gve: Rx Buffer Recycling David Awogbemila
2020-12-02 18:24 ` [PATCH net-next v9 4/4] gve: Add support for raw addressing in the tx path David Awogbemila
2020-12-03 18:16   ` Alexander Duyck
2020-12-07 18:15     ` David Awogbemila
2020-12-03 18:17 ` [PATCH net-next v9 0/4] GVE Raw Addressing Alexander Duyck

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=20201202182413.232510-1-awogbemila@google.com \
    --to=awogbemila@google.com \
    --cc=alexander.duyck@gmail.com \
    --cc=eric.dumazet@gmail.com \
    --cc=netdev@vger.kernel.org \
    --cc=saeed@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).