On Sep 24, 2014, at 8:12 PM, Hiroshi Shimamoto <h-shimamoto at ct.jp.nec.com> wrote:
> Hi Thomas, Keith, > >> Subject: Re: [dpdk-dev] [memnic PATCH 7/7] pmd: split calling mbuf free >> >> >> On Sep 24, 2014, at 10:20 AM, Thomas Monjalon <thomas.monjalon at 6wind.com> >> wrote: >> >>> 2014-09-11 07:52, Hiroshi Shimamoto: >>>> @@ -408,9 +408,9 @@ retry: >>>> >>>> rte_compiler_barrier(); >>>> p->status = MEMNIC_PKT_ST_FILLED; >>>> - >>>> - rte_pktmbuf_free(tx_pkts[nr]); >>>> } >>>> + for (i = 0; i < nr; i++) >>>> + rte_pktmbuf_free(tx_pkts[i]); >>>> >>>> /* stats */ >>>> st->opackets += pkts; >>>> >>> >>> You are bursting mbuf freeing. Why title is about "split?? > > I thought that in this patch splits main loop operations to putting content > and > freeing mbuf, then took work "split", but I see "burst mbuf freeing" is > preferable. > >> >> Maybe this should be a new API as in rte_pktmbuf_bulk_free(tx_pkts, nr); ?? >> This would remove the loop in the application and I know I have done the >> same thing for Pktgen too. > > Good point, yes, I'm thinking that having new API like > rte_pktmbuf_(alloc|free)_bulk() > is good to reduce TLS access and gain performance. > I put that on my stack, but haven't had a time yet. > > Do you have any plan to do such thing? I do not have any plans, but the alloc would be good too. > > thanks, > Hiroshi > >>> >>> -- >>> Thomas >> >> Keith Wiles, Principal Technologist with CTO office, Wind River mobile >> 972-213-5533 Keith Wiles, Principal Technologist with CTO office, Wind River mobile 972-213-5533