| Message ID | 20251112170420.3155127-2-david.marchand@redhat.com |
|---|---|
| State | Changes Requested |
| Headers | show |
| Series | Outer UDP checksum optimisations. | expand |
| Context | Check | Description |
|---|---|---|
| ovsrobot/apply-robot | success | apply and check: success |
| ovsrobot/github-robot-_Build_and_Test | success | github build: passed |
On Wed, Nov 12, 2025 at 12:04 PM David Marchand <david.marchand@redhat.com> wrote: > Caught by code review, rx queue fill was wrong in case some ingress > policing > was in place since nb_rx could get updated. > > Fixes: 8492adc270fd ("netdev: Add optional qfill output parameter to > rxq_recv()") > Signed-off-by: David Marchand <david.marchand@redhat.com> > --- > This looks correct. Acked-by: Mike Pattrick <mkp@redhat.com>
On 12/11/2025 17:04, David Marchand via dev wrote: > Caught by code review, rx queue fill was wrong in case some ingress policing > was in place since nb_rx could get updated. > > Fixes: 8492adc270fd ("netdev: Add optional qfill output parameter to rxq_recv()") > Signed-off-by: David Marchand <david.marchand@redhat.com> > --- > lib/netdev-dpdk.c | 16 ++++++++-------- > 1 file changed, 8 insertions(+), 8 deletions(-) > LGTM Acked-by: Kevin Traynor <ktraynor@redhat.com>
diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c index 687e1196b5..3704145a57 100644 --- a/lib/netdev-dpdk.c +++ b/lib/netdev-dpdk.c @@ -3019,6 +3019,14 @@ netdev_dpdk_rxq_recv(struct netdev_rxq *rxq, struct dp_packet_batch *batch, return EAGAIN; } + if (qfill) { + if (nb_rx == NETDEV_MAX_BURST) { + *qfill = rte_eth_rx_queue_count(rx->port_id, rxq->queue_id); + } else { + *qfill = 0; + } + } + if (policer) { dropped = nb_rx; nb_rx = ingress_policer_run(policer, @@ -3038,14 +3046,6 @@ netdev_dpdk_rxq_recv(struct netdev_rxq *rxq, struct dp_packet_batch *batch, batch->count = nb_rx; netdev_dpdk_batch_init_packet_fields(batch); - if (qfill) { - if (nb_rx == NETDEV_MAX_BURST) { - *qfill = rte_eth_rx_queue_count(rx->port_id, rxq->queue_id); - } else { - *qfill = 0; - } - } - return 0; }
Caught by code review, rx queue fill was wrong in case some ingress policing was in place since nb_rx could get updated. Fixes: 8492adc270fd ("netdev: Add optional qfill output parameter to rxq_recv()") Signed-off-by: David Marchand <david.marchand@redhat.com> --- lib/netdev-dpdk.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-)