[ovs-dev] [PATCH v7 0/5] dpcls func ptrs & optimizations

Van Haaren, Harry harry.van.haaren at intel.com
Mon Apr 15 18:50:06 UTC 2019


> -----Original Message-----
> From: Ilya Maximets [mailto:i.maximets at samsung.com]
> Sent: Monday, April 15, 2019 9:33 AM
> To: Van Haaren, Harry <harry.van.haaren at intel.com>; ovs-dev at openvswitch.org
> Cc: Stokes, Ian <ian.stokes at intel.com>; aconole at redhat.com;
> echaudro at redhat.com
> Subject: Re: [PATCH v7 0/5] dpcls func ptrs & optimizations
> 
> On 11.04.2019 15:55, Harry van Haaren wrote:
<snip>
> > Harry van Haaren (5):
> >   dpif-netdev: implement function pointers/subtable
> >   dpif-netdev: move dpcls lookup structures to .h
> >   dpif-netdev: split out generic lookup function
> >   dpif-netdev: refactor generic implementation
> >   dpif-netdev: add specialized generic scalar functions
> >
> >  lib/automake.mk                  |   1 +
> >  lib/dpif-netdev-lookup-generic.c | 342 +++++++++++++++++++++++++++++++
> >  lib/dpif-netdev.c                | 128 +++---------
> >  lib/dpif-netdev.h                |  83 ++++++++
> >  4 files changed, 456 insertions(+), 98 deletions(-)
> >  create mode 100644 lib/dpif-netdev-lookup-generic.c
> >
> 
> Hi. This patch-set fails the sparse build:
> 
> libtool: compile:  env "REAL_CC=gcc -std=gnu99" "CHECK=sparse  -I
> ./include/sparse -m64 -I /usr/local/include -I /usr/include/x86_64-linux-gnu
> " cgcc -target=x86_64 -DHAVE_CONFIG_H -I. -I ./include -I ./include -I ./lib
> -I ./lib -Wstrict-prototypes -Wall -Wextra -Wno-sign-compare -Wpointer-arith
> -Wformat -Wformat-security -Wswitch-enum -Wunused-parameter -Wbad-function-
> cast -Wcast-align -Wstrict-prototypes -Wold-style-definition -Wmissing-
> prototypes -Wmissing-field-initializers -fno-strict-aliasing -Wshadow -
> Werror -Wsparse-error -g -O2 -MT lib/dpif-netdev-lookup-generic.lo -MD -MP -
> MF lib/.deps/dpif-netdev-lookup-generic.Tpo -c lib/dpif-netdev-lookup-
> generic.c -o lib/dpif-netdev-lookup-generic.o
> lib/dpif-netdev-lookup-generic.c:203:43: error: Variable length array is
> used.
> lib/dpif-netdev-lookup-generic.c:210:23: error: Variable length array is
> used.
> make[2]: *** [lib/dpif-netdev-lookup-generic.lo] Error 1
> 
> https://travis-ci.org/ovsrobot/ovs/jobs/518798999
> 
> Sparse and MSVC doesn't like variable length arrays.

Thanks for the heads up - I'll add sparse to my test builds here, and add #ifdefs around the VLAs (like other places in the code). Will fix in V+1.

Any performance numbers/gains there?


More information about the dev mailing list