[dpdk-dev] rte_mbuf.next in 2nd cacheline

Bruce Richardson bruce.richardson at intel.com
Mon Jun 15 18:23:00 CEST 2015


On Mon, Jun 15, 2015 at 05:10:44PM +0100, Ananyev, Konstantin wrote:
> 
> 
> > -----Original Message-----
> > From: Richardson, Bruce
> > Sent: Monday, June 15, 2015 5:02 PM
> > To: Ananyev, Konstantin
> > Cc: Olivier MATZ; dev at dpdk.org; Damjan Marion (damarion)
> > Subject: Re: [dpdk-dev] rte_mbuf.next in 2nd cacheline
> > 
> > On Mon, Jun 15, 2015 at 04:59:55PM +0100, Ananyev, Konstantin wrote:
> > >
> > >
> > >
> > > As I can see, vector TX is the only one that calls __rte_pktmbuf_prefree_seg() directly.
> > > All others use rte_pktmbuf_free_seg(), that does ' m->next = NULL' anyway.
> > > For vector TX - yes, need to verify that it would not introduce a slowdown.
> > > Konstantin
> > >
> > 
> > But if the function is only directly called from one place, and that doesn't
> > have a problem, why would we bother making any change at all?
> 
> 
> For future usages?
> But sure, if you believe that we can safely remove 'm->next = NULL' at RX path,
> without any changes in the __rte_pktmbuf_prefree_seg() -
> that seems fine to me.
> Konstantin
> 

If we find it's not safe, we can add in the change to __rte_pktmbuf_prefree_seg
as you suggest.

One other question: based on this, do you think it's safe to also remove the
assignment to NULL from the pktmbuf_alloc function? I suspect it should be safe, and
that should help any traffic-generator type applications that use that function
extensively.

/Bruce


More information about the dev mailing list