mbox series

[net-next,v7,0/4] GVE Raw Addressing

Message ID 20201118232014.2910642-1-awogbemila@google.com (mailing list archive)
Headers show
Series GVE Raw Addressing | expand

Message

David Awogbemila Nov. 18, 2020, 11:20 p.m. UTC
Patch 1: Use u8 instead of bool for raw_addressing bit in gve_priv structure.
        Simplify pointer arithmetic: use (option + 1) in gve_get_next_option.
        Separate option parsing switch statement into individual function.
Patch 2: Use u8 instead of bool for raw_addressing bit in gve_gve_rx_data_queue structure.
        Correct typo in gve_desc.h comment (s/than/then/).
        Change gve_rx_data_slot from struct to union.
        Remove dma_mapping_error path change in gve_alloc_page - it should
        probably be a bug fix.
        Use & to obtain page address from data_ring->addr.
        Move declarations of local variables i and slots to if statement where they
        are used within gve_rx_unfill_pages.
        Simplify alloc_err path by using "while(i--)", eliminating need for extra "int j"
        variable in gve_prefill_rx_pages.
        Apply byteswap to constant in gve_rx_flip_buff.
        Remove gve_rx_raw_addressing as it does not do much more than gve_rx_add_frags.
        Remove stats update from elseif block, no need to optimize for infrequent case of
        work_done = 0.
Patch 3: Use u8 instead of bool for can_flip in gve_rx_slot_page_info.
        Move comment in gve_rx_flip_buff to earlier, more relevant patch.
        Fix comment wrap in gve_rx_can_flip_buffers.
        Use ternary statement for gve_rx_can_flip_buffers.
        Correct comment in gve_rx_qpl.
Patch 4: Use u8 instead of bool in gve_tx_ring structure.
        Get rid of unnecessary local variable "dma" in gve_dma_sync_for_device.

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        |  38 +-
 drivers/net/ethernet/google/gve/gve_adminq.c |  90 ++++-
 drivers/net/ethernet/google/gve/gve_adminq.h |  15 +-
 drivers/net/ethernet/google/gve/gve_desc.h   |  19 +-
 drivers/net/ethernet/google/gve/gve_main.c   |  11 +-
 drivers/net/ethernet/google/gve/gve_rx.c     | 403 ++++++++++++++-----
 drivers/net/ethernet/google/gve/gve_tx.c     | 211 ++++++++--
 7 files changed, 620 insertions(+), 167 deletions(-)

Comments

Jakub Kicinski Nov. 19, 2020, 4:48 p.m. UTC | #1
On Wed, 18 Nov 2020 15:20:10 -0800 David Awogbemila wrote:
> Patch 1: Use u8 instead of bool for raw_addressing bit in gve_priv structure.
>         Simplify pointer arithmetic: use (option + 1) in gve_get_next_option.
>         Separate option parsing switch statement into individual function.
> Patch 2: Use u8 instead of bool for raw_addressing bit in gve_gve_rx_data_queue structure.
>         Correct typo in gve_desc.h comment (s/than/then/).
>         Change gve_rx_data_slot from struct to union.
>         Remove dma_mapping_error path change in gve_alloc_page - it should
>         probably be a bug fix.
>         Use & to obtain page address from data_ring->addr.
>         Move declarations of local variables i and slots to if statement where they
>         are used within gve_rx_unfill_pages.
>         Simplify alloc_err path by using "while(i--)", eliminating need for extra "int j"
>         variable in gve_prefill_rx_pages.
>         Apply byteswap to constant in gve_rx_flip_buff.
>         Remove gve_rx_raw_addressing as it does not do much more than gve_rx_add_frags.
>         Remove stats update from elseif block, no need to optimize for infrequent case of
>         work_done = 0.
> Patch 3: Use u8 instead of bool for can_flip in gve_rx_slot_page_info.
>         Move comment in gve_rx_flip_buff to earlier, more relevant patch.
>         Fix comment wrap in gve_rx_can_flip_buffers.
>         Use ternary statement for gve_rx_can_flip_buffers.
>         Correct comment in gve_rx_qpl.
> Patch 4: Use u8 instead of bool in gve_tx_ring structure.
>         Get rid of unnecessary local variable "dma" in gve_dma_sync_for_device.

You need to start CCing people who gave you feedback, and discuss the
feedback _before_ you send another version of the patchset.

CCing Alex and Saeed
Alexander Duyck Nov. 19, 2020, 4:56 p.m. UTC | #2
Where is the description of what this patch set is meant to do? I
don't recall if I reviewed that in the last patch set but usually the
cover page should tell us something about the patch set and not just
be a list of changes which I assume are diffs from v3?

On Wed, Nov 18, 2020 at 3:22 PM David Awogbemila <awogbemila@google.com> wrote:
>
> Patch 1: Use u8 instead of bool for raw_addressing bit in gve_priv structure.
>         Simplify pointer arithmetic: use (option + 1) in gve_get_next_option.
>         Separate option parsing switch statement into individual function.
> Patch 2: Use u8 instead of bool for raw_addressing bit in gve_gve_rx_data_queue structure.
>         Correct typo in gve_desc.h comment (s/than/then/).
>         Change gve_rx_data_slot from struct to union.
>         Remove dma_mapping_error path change in gve_alloc_page - it should
>         probably be a bug fix.
>         Use & to obtain page address from data_ring->addr.
>         Move declarations of local variables i and slots to if statement where they
>         are used within gve_rx_unfill_pages.
>         Simplify alloc_err path by using "while(i--)", eliminating need for extra "int j"
>         variable in gve_prefill_rx_pages.
>         Apply byteswap to constant in gve_rx_flip_buff.
>         Remove gve_rx_raw_addressing as it does not do much more than gve_rx_add_frags.
>         Remove stats update from elseif block, no need to optimize for infrequent case of
>         work_done = 0.
> Patch 3: Use u8 instead of bool for can_flip in gve_rx_slot_page_info.
>         Move comment in gve_rx_flip_buff to earlier, more relevant patch.
>         Fix comment wrap in gve_rx_can_flip_buffers.
>         Use ternary statement for gve_rx_can_flip_buffers.
>         Correct comment in gve_rx_qpl.
> Patch 4: Use u8 instead of bool in gve_tx_ring structure.
>         Get rid of unnecessary local variable "dma" in gve_dma_sync_for_device.
>
> 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        |  38 +-
>  drivers/net/ethernet/google/gve/gve_adminq.c |  90 ++++-
>  drivers/net/ethernet/google/gve/gve_adminq.h |  15 +-
>  drivers/net/ethernet/google/gve/gve_desc.h   |  19 +-
>  drivers/net/ethernet/google/gve/gve_main.c   |  11 +-
>  drivers/net/ethernet/google/gve/gve_rx.c     | 403 ++++++++++++++-----
>  drivers/net/ethernet/google/gve/gve_tx.c     | 211 ++++++++--
>  7 files changed, 620 insertions(+), 167 deletions(-)
>
> --
> 2.29.2.299.gdc1121823c-goog
>