[dpdk-dev] [PATCH 3/3] net: run-time function selection

Bruce Richardson bruce.richardson at intel.com
Fri Jan 19 10:20:14 CET 2018


On Fri, Jan 19, 2018 at 12:43:09AM +0100, Thomas Monjalon wrote:
> 11/12/2017 16:31, Bruce Richardson:
> > On Mon, Nov 06, 2017 at 10:05:43AM -0800, Elza Mathew wrote:
> > > Compile-time function selection can potentially lead to
> > > lower performance on generic builds done by distros.
> > > Replaced compile time flag checks with run-time
> > > function selection.
> > > 
> > > Signed-off-by: Elza Mathew <elza.mathew at intel.com>
> > > ---
> > >  lib/librte_net/rte_net_crc.c | 22 +++++++++++++---------
> > >  1 file changed, 13 insertions(+), 9 deletions(-)
> > > 
> > Patch looks good to me, but unfortunately the compilation testing shows
> > an issue with clang compliation on FreeBSD 10. I've also tested with gcc
> > on both BSD 10 and 11 and saw no issues, and BSD 11 clang compilation is
> > also fine. 
> > 
> > The compilation error is due to missing _mm_clmulepi64_si128 instrinsic:
> > In file included from /home/patchWorkOrg/compilation/lib/librte_net/rte_net_crc.c:43:
> > /home/patchWorkOrg/compilation/lib/librte_net/net_crc_sse.h:81:17: error: implicit declaration of function '_mm_clmulepi64_si128' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
> >         __m128i tmp0 = _mm_clmulepi64_si128(fold, precomp, 0x01);
> 
> Any update please?

I'll work with Elza to see if I can find a workaround for this compiler
issue. In the meantime, perhaps patches 1 and 2 of the set can be
applied so that we can do a new patch 3 only when we get it fixed.

/Bruce


More information about the dev mailing list