Both RX and TX processing on DQ were originally implemented with the asusmption that descriptor completions will be written by the hardware in the order that they are posted. In certain cases, such as RSC on RX and double completions on TX, this will not necessarily be the case.
Depends-on: series-35656 ("net/gve: Tx datapath fixes for GVE DQO") Joshua Washington (4): net/gve: free Rx mbufs if allocation fails on ring setup net/gve: add datapath-specific logging for gve net/gve: support for out of order completions on DQ Tx net/gve: support for out of order completions on DQ Rx drivers/net/gve/base/gve_adminq.c | 2 +- drivers/net/gve/gve_ethdev.h | 20 ++- drivers/net/gve/gve_logs.h | 3 + drivers/net/gve/gve_rx_dqo.c | 135 +++++++++++----- drivers/net/gve/gve_tx_dqo.c | 250 ++++++++++++++++++------------ 5 files changed, 267 insertions(+), 143 deletions(-) -- 2.51.0.rc1.167.g924127e9c0-goog