From mboxrd@z Thu Jan 1 00:00:00 1970 From: Olivier Matz Subject: Re: [PATCH] prefetch second cacheline of mbufs on alloc Date: Thu, 16 Feb 2017 16:16:08 +0100 Message-ID: <20170216161608.6715803c@platinum> References: <1431386118-2811-1-git-send-email-emmericp@net.in.tum.de> <6143149.O6nc0QL3DF@xps13> <55ACAB1B.2030508@6wind.com> <1666545.dgckzNb2Rl@xps13> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: konstantin.ananyev@intel.com, bruce.richardson@intel.com, dev@dpdk.org, Paul Emmerich , "Mike A. Polehn" To: Thomas Monjalon Return-path: Received: from mail-wm0-f42.google.com (mail-wm0-f42.google.com [74.125.82.42]) by dpdk.org (Postfix) with ESMTP id CDEEE39EA for ; Thu, 16 Feb 2017 16:16:12 +0100 (CET) Received: by mail-wm0-f42.google.com with SMTP id r141so17619055wmg.1 for ; Thu, 16 Feb 2017 07:16:12 -0800 (PST) In-Reply-To: <1666545.dgckzNb2Rl@xps13> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Wed, 15 Feb 2017 09:44:35 +0100, Thomas Monjalon wrote: > Do we need to discuss again the prefetch calls inside DPDK > or can we definitely close this kind of request? > mbuf: http://dpdk.org/patch/4678/ > ethdev: http://dpdk.org/patch/8867/ > About the mbuf prefetch, I suggest the topic can be closed: The rte_pkt_mbuf_alloc() function is not necessarily called in a place where we will write the second cache line, so the prefetch is not always useful. Having prefetches in generic functions does not look to be a good idea, especially in that case, knowing it's easy to do it in the application. Olivier > > 2015-07-20 10:02, Olivier MATZ: > > Hi Thomas, > > > > > > On 07/20/2015 03:00 AM, Thomas Monjalon wrote: > > > Please Olivier, > > > What is the status of this patch? > > > > From what I remember, the last mail was a comment from Konstantin > > on another thread (but same topic): > > http://dpdk.org/ml/archives/dev/2015-May/017633.html > > > > > > Regards, > > Olivier > > > > > > > > > > 2015-05-12 01:15, Paul Emmerich: > > >> this improves the throughput of a simple tx-only application by > > >> 11% in the full-featured ixgbe tx path and by 14% in the simple > > >> tx path. --- > > >> lib/librte_mbuf/rte_mbuf.h | 1 + > > >> 1 file changed, 1 insertion(+) > > >> > > >> diff --git a/lib/librte_mbuf/rte_mbuf.h > > >> b/lib/librte_mbuf/rte_mbuf.h index ab6de67..f6895b4 100644 > > >> --- a/lib/librte_mbuf/rte_mbuf.h > > >> +++ b/lib/librte_mbuf/rte_mbuf.h > > >> @@ -538,6 +538,7 @@ static inline struct rte_mbuf > > >> *__rte_mbuf_raw_alloc(struct rte_mempool *mp) if > > >> (rte_mempool_get(mp, &mb) < 0) return NULL; > > >> m = (struct rte_mbuf *)mb; > > >> + rte_prefetch0(&m->cacheline1); > > >> RTE_MBUF_ASSERT(rte_mbuf_refcnt_read(m) == 0); > > >> rte_mbuf_refcnt_set(m, 1); > > >> return (m); > > >> > > > > > > > >