From: Bailey Forrest <bcf@google.com>
To: Bailey Forrest <bcf@google.com>,
"David S . Miller" <davem@davemloft.net>
Cc: netdev@vger.kernel.org
Subject: [PATCH net-next 00/16] gve: Introduce DQO descriptor format
Date: Thu, 24 Jun 2021 11:06:16 -0700 [thread overview]
Message-ID: <20210624180632.3659809-1-bcf@google.com> (raw)
DQO is the descriptor format for our next generation virtual NIC. The existing
descriptor format will be referred to as "GQI" in the patch set.
One major change with DQO is it uses dual descriptor rings for both TX and RX
queues.
The TX path uses a TX queue to send descriptors to HW, and receives packet
completion events on a TX completion queue.
The RX path posts buffers to HW using an RX buffer queue and receives incoming
packets on an RX queue.
One important note is that DQO descriptors and doorbells are little endian. We
continue to use the existing big endian control plane infrastructure.
The general format of the patch series is:
- Refactor existing code/data structures to be shared by DQO
- Expand admin queues to support DQO device setup
- Expand data structures and device setup to support DQO
- Add logic to setup DQO queues
- Implement datapath
Bailey Forrest (16):
gve: Update GVE documentation to describe DQO
gve: Move some static functions to a common file
gve: gve_rx_copy: Move padding to an argument
gve: Make gve_rx_slot_page_info.page_offset an absolute offset
gve: Introduce a new model for device options
gve: Introduce per netdev `enum gve_queue_format`
gve: adminq: DQO specific device descriptor logic
gve: Add support for DQO RX PTYPE map
gve: Add dqo descriptors
gve: Add DQO fields for core data structures
gve: Update adminq commands to support DQO queues
gve: DQO: Add core netdev features
gve: DQO: Add ring allocation and initialization
gve: DQO: Configure interrupts on device up
gve: DQO: Add TX path
gve: DQO: Add RX path
.../device_drivers/ethernet/google/gve.rst | 53 +-
drivers/net/ethernet/google/Kconfig | 2 +-
drivers/net/ethernet/google/gve/Makefile | 2 +-
drivers/net/ethernet/google/gve/gve.h | 332 +++++-
drivers/net/ethernet/google/gve/gve_adminq.c | 334 ++++--
drivers/net/ethernet/google/gve/gve_adminq.h | 112 +-
.../net/ethernet/google/gve/gve_desc_dqo.h | 256 ++++
drivers/net/ethernet/google/gve/gve_dqo.h | 81 ++
drivers/net/ethernet/google/gve/gve_ethtool.c | 21 +-
drivers/net/ethernet/google/gve/gve_main.c | 291 ++++-
drivers/net/ethernet/google/gve/gve_rx.c | 54 +-
drivers/net/ethernet/google/gve/gve_rx_dqo.c | 763 ++++++++++++
drivers/net/ethernet/google/gve/gve_tx.c | 25 +-
drivers/net/ethernet/google/gve/gve_tx_dqo.c | 1031 +++++++++++++++++
drivers/net/ethernet/google/gve/gve_utils.c | 81 ++
drivers/net/ethernet/google/gve/gve_utils.h | 28 +
16 files changed, 3250 insertions(+), 216 deletions(-)
create mode 100644 drivers/net/ethernet/google/gve/gve_desc_dqo.h
create mode 100644 drivers/net/ethernet/google/gve/gve_dqo.h
create mode 100644 drivers/net/ethernet/google/gve/gve_rx_dqo.c
create mode 100644 drivers/net/ethernet/google/gve/gve_tx_dqo.c
create mode 100644 drivers/net/ethernet/google/gve/gve_utils.c
create mode 100644 drivers/net/ethernet/google/gve/gve_utils.h
base-commit: 35713d9b8f090d7a226e4aaeeb742265cde33c82
--
2.32.0.288.g62a8d224e6-goog
next reply other threads:[~2021-06-24 18:07 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-24 18:06 Bailey Forrest [this message]
2021-06-24 18:06 ` [PATCH net-next 01/16] gve: Update GVE documentation to describe DQO Bailey Forrest
2021-06-24 18:06 ` [PATCH net-next 02/16] gve: Move some static functions to a common file Bailey Forrest
2021-06-24 18:06 ` [PATCH net-next 03/16] gve: gve_rx_copy: Move padding to an argument Bailey Forrest
2021-06-24 18:06 ` [PATCH net-next 04/16] gve: Make gve_rx_slot_page_info.page_offset an absolute offset Bailey Forrest
2021-06-24 18:06 ` [PATCH net-next 05/16] gve: Introduce a new model for device options Bailey Forrest
2021-06-24 18:06 ` [PATCH net-next 06/16] gve: Introduce per netdev `enum gve_queue_format` Bailey Forrest
2021-06-24 18:06 ` [PATCH net-next 07/16] gve: adminq: DQO specific device descriptor logic Bailey Forrest
2021-06-24 18:06 ` [PATCH net-next 08/16] gve: Add support for DQO RX PTYPE map Bailey Forrest
2021-06-24 18:06 ` [PATCH net-next 09/16] gve: Add dqo descriptors Bailey Forrest
2021-06-24 18:06 ` [PATCH net-next 10/16] gve: Add DQO fields for core data structures Bailey Forrest
2021-06-24 18:06 ` [PATCH net-next 11/16] gve: Update adminq commands to support DQO queues Bailey Forrest
2021-06-24 18:06 ` [PATCH net-next 12/16] gve: DQO: Add core netdev features Bailey Forrest
2021-06-24 23:18 ` Samudrala, Sridhar
2021-06-24 23:55 ` Bailey Forrest
2021-06-24 18:06 ` [PATCH net-next 13/16] gve: DQO: Add ring allocation and initialization Bailey Forrest
2021-06-24 18:06 ` [PATCH net-next 14/16] gve: DQO: Configure interrupts on device up Bailey Forrest
2021-06-24 18:06 ` [PATCH net-next 15/16] gve: DQO: Add TX path Bailey Forrest
2021-06-24 21:55 ` kernel test robot
2021-06-24 18:06 ` [PATCH net-next 16/16] gve: DQO: Add RX path Bailey Forrest
2021-06-24 19:50 ` [PATCH net-next 00/16] gve: Introduce DQO descriptor format patchwork-bot+netdevbpf
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=20210624180632.3659809-1-bcf@google.com \
--to=bcf@google.com \
--cc=davem@davemloft.net \
--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).