Message ID | 20240418195159.3461151-1-shailend@google.com (mailing list archive) |
---|---|
Headers | show |
Series | gve: Implement netdev queue api | expand |
On Thu, Apr 18, 2024 at 12:52 PM Shailend Chand <shailend@google.com> wrote: > > Following the discussion on > https://patchwork.kernel.org/project/linux-media/patch/20240305020153.2787423-2-almasrymina@google.com/, > the queue api defined by Mina is implemented for gve. > > The first patch is just Mina's introduction of the api. The rest of the > patches make surgical changes in gve to enable it to work correctly with > only a subset of queues present (thus far it had assumed that either all > queues are up or all are down). The final patch has the api > implementation. > I applied the series locally and tested it with devmem TCP. All my tests pass. You can add to the individual patches: Tested-by: Mina Almasry <almasrymina@google.com> > Mina Almasry (1): > queue_api: define queue api > > Shailend Chand (8): > gve: Make the RX free queue funcs idempotent > gve: Add adminq funcs to add/remove a single Rx queue > gve: Make gve_turn(up|down) ignore stopped queues > gve: Make gve_turnup work for nonempty queues > gve: Avoid rescheduling napi if on wrong cpu > gve: Reset Rx ring state in the ring-stop funcs > gve: Account for stopped queues when reading NIC stats > gve: Implement queue api > > drivers/net/ethernet/google/gve/gve.h | 7 + > drivers/net/ethernet/google/gve/gve_adminq.c | 79 +++++-- > drivers/net/ethernet/google/gve/gve_adminq.h | 2 + > drivers/net/ethernet/google/gve/gve_dqo.h | 6 + > drivers/net/ethernet/google/gve/gve_ethtool.c | 13 +- > drivers/net/ethernet/google/gve/gve_main.c | 200 +++++++++++++++++- > drivers/net/ethernet/google/gve/gve_rx.c | 89 +++++--- > drivers/net/ethernet/google/gve/gve_rx_dqo.c | 114 +++++++--- > include/linux/netdevice.h | 3 + > include/net/netdev_queues.h | 27 +++ > 10 files changed, 459 insertions(+), 81 deletions(-) > > -- > 2.44.0.769.g3c40516874-goog >