[dpdk-dev] [PATCH 1/6] cxgbe: Optimize forwarding performance for 40G
Aaron Conole
aconole at redhat.com
Fri Oct 2 23:48:28 CEST 2015
Hi Rahul,
Rahul Lakkireddy <rahul.lakkireddy at chelsio.com> writes:
> Update sge initialization with respect to free-list manager configuration
> and ingress arbiter. Also update refill logic to refill mbufs only after
> a certain threshold for rx. Optimize tx packet prefetch and free.
<<snip>>
> for (i = 0; i < sd->coalesce.idx; i++) {
> - rte_pktmbuf_free(sd->coalesce.mbuf[i]);
> + struct rte_mbuf *tmp = sd->coalesce.mbuf[i];
> +
> + do {
> + struct rte_mbuf *next = tmp->next;
> +
> + rte_pktmbuf_free_seg(tmp);
> + tmp = next;
> + } while (tmp);
> sd->coalesce.mbuf[i] = NULL;
Pardon my ignorance here, but rte_pktmbuf_free does this work. I can't
actually see much difference between your rewrite of this block, and
the implementation of rte_pktmbuf_free() (apart from moving your branch
to the end of the function). Did your microbenchmarking really show this
as an improvement?
Thanks for your time,
Aaron
More information about the dev
mailing list