[dpdk-dev] [PATCH 12/14] net/ionic: send as many packets as possible
Andrew Boyer
aboyer at pensando.io
Thu Feb 4 20:58:51 CET 2021
Rather than dropping the whole burst if some don't fit.
This improves performance.
Signed-off-by: Andrew Boyer <aboyer at pensando.io>
Signed-off-by: Vishwas Danivas <vishwas at pensando.io>
---
drivers/net/ionic/ionic_rxtx.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/drivers/net/ionic/ionic_rxtx.c b/drivers/net/ionic/ionic_rxtx.c
index 2522c8283a..81182b5dc4 100644
--- a/drivers/net/ionic/ionic_rxtx.c
+++ b/drivers/net/ionic/ionic_rxtx.c
@@ -536,15 +536,16 @@ ionic_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts,
struct ionic_tx_stats *stats = &txq->stats;
uint32_t next_q_head_idx;
uint32_t bytes_tx = 0;
- uint16_t nb_tx = 0;
+ uint16_t nb_avail, nb_tx = 0;
int err;
/* Cleaning old buffers */
ionic_tx_flush(txq);
- if (unlikely(ionic_q_space_avail(q) < nb_pkts)) {
- stats->stop += nb_pkts;
- return 0;
+ nb_avail = ionic_q_space_avail(q);
+ if (unlikely(nb_avail < nb_pkts)) {
+ stats->stop += nb_pkts - nb_avail;
+ nb_pkts = nb_avail;
}
while (nb_tx < nb_pkts) {
--
2.17.1
More information about the dev
mailing list