Message ID | 20201202182413.232510-1-awogbemila@google.com |
---|---|
Headers | show |
Series | GVE Raw Addressing | expand |
On Wed, Dec 2, 2020 at 10:24 AM David Awogbemila <awogbemila@google.com> wrote: > > 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 > Other than the few nits with counters being u32 values I didn't really see much else. Reviewed-by: Alexander Duyck <alexanderduyck@fb.com>