Hello Keith, as from my last post passed about three weeks I would kindly ask if you could provide any comments about this patch?
Best regards, Rafal Kozik pt., 23 lis 2018 o 09:23 Rafal Kozik <r...@semihalf.com> napisał(a): > > If in one TX cycle NIC does not send any packet, pktgen tries > to allocate 0 mbufs from pool. In such case DPDK return error > and packets will not be send. As no packet will be send in > next iteration this situation will repeat. > > Checking if taking more mbufs is needed will prevent this situation. > > Fixes: f034b381d19f ("cleanup and fix for FVL NIC performance") > > Signed-off-by: Rafal Kozik <r...@semihalf.com> > --- > app/pktgen.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/app/pktgen.c b/app/pktgen.c > index 2d9ff59..b4d3dfe 100644 > --- a/app/pktgen.c > +++ b/app/pktgen.c > @@ -1054,7 +1054,8 @@ pktgen_send_pkts(port_info_t *info, uint16_t qid, > struct rte_mempool *mp) > uint16_t saved = info->q[qid].tx_mbufs.len; > uint16_t nb_pkts = info->tx_burst - saved; > > - rc = pg_pktmbuf_alloc_bulk(mp, > + if (likely(nb_pkts > 0)) > + rc = pg_pktmbuf_alloc_bulk(mp, > > &info->q[qid].tx_mbufs.m_table[saved], > nb_pkts); > if (rc == 0) { > @@ -1070,7 +1071,8 @@ pktgen_send_pkts(port_info_t *info, uint16_t qid, > struct rte_mempool *mp) > uint16_t saved = info->q[qid].tx_mbufs.len; > uint16_t nb_pkts = txCnt - saved; > > - rc = pg_pktmbuf_alloc_bulk(mp, > + if (likely(nb_pkts > 0)) > + rc = pg_pktmbuf_alloc_bulk(mp, > > &info->q[qid].tx_mbufs.m_table[saved], > nb_pkts); > if (rc == 0) { > -- > 2.7.4 >