[dpdk-dev] [PATCH v8 1/3] eal/x86: run-time dispatch over memcpy

Ananyev, Konstantin konstantin.ananyev at intel.com
Fri Oct 13 12:26:32 CEST 2017



> -----Original Message-----
> From: Thomas Monjalon [mailto:thomas at monjalon.net]
> Sent: Friday, October 13, 2017 10:29 AM
> To: Li, Xiaoyun <xiaoyun.li at intel.com>; Ananyev, Konstantin <konstantin.ananyev at intel.com>
> Cc: dev at dpdk.org; Richardson, Bruce <bruce.richardson at intel.com>; Lu, Wenzhuo <wenzhuo.lu at intel.com>; Zhang, Helin
> <helin.zhang at intel.com>
> Subject: Re: [dpdk-dev] [PATCH v8 1/3] eal/x86: run-time dispatch over memcpy
> 
> 13/10/2017 11:01, Xiaoyun Li:
> >  lib/librte_eal/common/arch/x86/rte_memcpy.c        |  59 ++
> >  lib/librte_eal/common/arch/x86/rte_memcpy_avx2.c   |  44 +
> >  .../common/arch/x86/rte_memcpy_avx512f.c           |  44 +
> >  lib/librte_eal/common/arch/x86/rte_memcpy_sse.c    |  40 +
> >  .../common/include/arch/x86/rte_memcpy.h           | 861 +-----------------
> >  .../common/include/arch/x86/rte_memcpy_internal.h  | 966 +++++++++++++++++++++
> 
> I think that rte_memcpy_internal.h should not be in the include directory.
> Can it be moved to lib/librte_eal/common/arch/ ?

I am afraid we can't - for size < 128 bytes we still use inline version of memcpy -
to avoid perfomance regression.
So we still need that file to stay in include dir.

> 
> > --- a/lib/librte_eal/bsdapp/eal/rte_eal_version.map
> > +++ b/lib/librte_eal/bsdapp/eal/rte_eal_version.map
> > @@ -243,6 +243,7 @@ DPDK_17.11 {
> >  	rte_eal_iova_mode;
> >  	rte_eal_mbuf_default_mempool_ops;
> >  	rte_lcore_has_role;
> > +	rte_memcpy_ptr;
> 
> I don't know what is the consequence of adding this function in the .map
> file for architectures where it does not exist?

I don't have arm/ppc box to try...
Though I tried to add unexciting function name into
lib/librte_eal/linuxapp/eal/rte_eal_version.map.
Didn't encounter any problems. 
So my guess - it is harmless.
Konstantin



More information about the dev mailing list