[dpdk-dev] [PATCHv3 0/5] ACL library

Richardson, Bruce bruce.richardson at intel.com
Sat Jun 14 02:07:09 CEST 2014


> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Thomas Monjalon
> Sent: Friday, June 13, 2014 4:38 PM
> To: Ananyev, Konstantin
> Cc: dev at dpdk.org
> Subject: Re: [dpdk-dev] [PATCHv3 0/5] ACL library
> 
> 2014-06-13 12:02, Ananyev, Konstantin:
> > 2014-06-13 13:56, Thomas Monjalon:
> > > > Konstantin Ananyev (5):
> > > >   Add ACL library (librte_acl) into DPDK
> > > >   acl: update UT to reflect latest changes in the librte_acl
> > > >   acl: New test-acl application
> > > >   acl: New sample l3fwd-acl
> > > >   acl: add doxygen configuration and start page
> > > >
> > > > v2 fixes:
> > > > * Fixed several checkpatch.pl issues
> > > > * Added doxygen related changes
> > > >
> > > > v3 fixes:
> > > > * Fixed even more checkpatch.pl issues
> > >
> > > Sorry to bother you but after checking v3,
> > >
> > > I think these errors should be avoided:
> > > 	ERROR: do not use assignment in if condition
> > > 	ERROR: return is not a function, parentheses are not required
> >
> > These changes would require a lot of changes inside ACL library.
> > As I said in cover letter, ACL library was part of IPL code for a while
> > (nearly a year).
> > I don't really want to make significant changes in it just before the
> > release without really good reason - bugs found.
> 
> I've made the code style changes, move some configuration lines and added
> to BSD build (not tested).
> As it was previously acked and tested,
> it is now applied for version 1.7.0.
> 
I'd be a bit wary about adding it to the BSD build. I'm only running BSD in a VM here, but there GCC fails to recognise the processor supports SSE4 instruction sets when using "-march=native", and so fails to compile the vector code - at least the vectorized PMD functions. That's why I've explicitly disabled those in the latest version of the vector PMD patch, and I would suggest doing the same for the ACL code for now.

Interestingly enough, in the same VM clang does seem to recognise SSE4. Output from the compilers below. Anyone with a physical box running BSD who could confirm if this issue is localised to VMs or not?

[bruce at BSD10-VM ~]$ gcc48 -dM -E -march=native - < /dev/null | grep SSE
#define __SSE2_MATH__ 1
#define __SSE_MATH__ 1
#define __SSE2__ 1
#define __SSSE3__ 1
#define __SSE__ 1
#define __SSE3__ 1
[bruce at BSD10-VM ~]$ clang -dM -E -march=native - < /dev/null | grep SSE
#define __SSE2_MATH__ 1
#define __SSE2__ 1
#define __SSE3__ 1
#define __SSE4_1__ 1
#define __SSE4_2__ 1
#define __SSE_MATH__ 1
#define __SSE__ 1
#define __SSSE3__ 1



More information about the dev mailing list