On Fri, 19 Mar 2021 08:02:06 -0400 Venkata Suresh Kumar P <venkata.suresh.kuma...@intel.com> wrote:
> +static void > +__writer_flush(struct writer *p) > +{ > + struct rte_mbuf *pkt; > + void *pkt_data; > + size_t n_bytes; > + ssize_t ret; > + uint32_t i; > + > + for (i = 0; i < p->n_pkts; i++) { > + pkt = p->pkts[i]; > + pkt_data = rte_pktmbuf_mtod(pkt, void*); > + n_bytes = rte_pktmbuf_data_len(pkt); > + > + ret = write(p->params.fd, pkt_data, n_bytes); > + if (ret < 0) > + break; > + } > + > + TRACE("[FD %u] %u packets out\n", > + (uint32_t)p->params.fd, > + p->n_pkts); > + > + for (i = 0; i < p->n_pkts; i++) > + rte_pktmbuf_free(p->pkts[i]); Loop can be replaced by: rte_pktmbuf_free_bulk(p->pkts, p->n_pkts);