[dpdk-dev] [PATCH][pktgen] fix repopulation of tx_mbufs table
Rafał Kozik
rk at semihalf.com
Fri Dec 14 12:26:18 CET 2018
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 <rk at 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 <rk at 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
>
More information about the dev
mailing list