rx callbacks when zero packets > > I noticed while looking at packet capture that currently the receive callbacks > get called even if there are no packets. This seems unnecessary since if > nb_rx is zero, then there are no packets to look at. My one concern is that > an application could be using callbacks as some form of scheduling mechanism > which would be broken.
As I remember, original idea was to allow callbacks to inject new packets if needed. > > The change would be: > > > diff --git a/lib/ethdev/rte_ethdev.h b/lib/ethdev/rte_ethdev.h > index 21e3a21903ec..f64bf977c46e 100644 > --- a/lib/ethdev/rte_ethdev.h > +++ b/lib/ethdev/rte_ethdev.h > @@ -6077,7 +6077,7 @@ rte_eth_rx_burst(uint16_t port_id, uint16_t queue_id, > nb_rx = p->rx_pkt_burst(qd, rx_pkts, nb_pkts); > > #ifdef RTE_ETHDEV_RXTX_CALLBACKS > - { > + if (nb_rx > 0) { > void *cb; > > /* rte_memory_order_release memory order was used when the