On 7/2/20 7:42 PM, Harry van Haaren wrote: > v6 work done: > - Fix as --64 unrecognized option > - Fix build issues with avx512 library changes > - Fix files left in build dir after distclean > - Fix CPU arch dependant RTE_CPUFLAG_ usage > > Thanks William & Ian for review & help on v5. > All known issues are fixed and working here. > > > Hi All, > > This patchset implements the changes as proposed during the > OVS Conf '19, in the talk "Next steps for SW Datapath". > Youtube link: https://youtu.be/x0bOpojnpmU > > The talk raises 3 main requirements for CPU ISA Optimizations, > each of which is addressed in some of the patches below. > - Test & Validation (video @ 2:20) > - Usabiliity & Debug (video @ 6:00) > - Package & Deploy (video @ 8:45) > > Patch 1/6: > The test and validation requirements proposed above are implemented, > with the refactor of the subtable function pointer registration, > and the autovalidator implementation is added. > > Patch 2 & 3 / 6: > Adds the commands for usability & debug. Now improved with a "get" and > "set" command. Get returns current priorities and a list of each lookup > implementation. Set provides feedback to the user as to the number of > DPCLS ports/subtables that have new lookup functions due to the command > that was executed. > > Patch 4/6: > Enable CPU ISA detection at runtime, providing information for future > ISA optimized functions. > > Patch 5/6: > Actual AVX-512 implementation for DPCLS subtable search. This is the > actual SIMD vector code, which performs DPCLS miniflow iteration in > parallel. > > Patch 6/6: > Add section in dpdk/bridges.rst on how to use the DPCLS commands, and > what they can be used for. Testing and validation using autovalidator > concept introduced, and command to set its priority is provided. The > steps required to run the autovalidator as default lookup implementation > are described. NEWS file is updated with things changed in userspace datapath. > > > Thanks for reading, any questions please let me know. > Regards, -Harry > > > > Harry van Haaren (6): > dpif-netdev: implement subtable lookup validation. > dpif-netdev: add subtable lookup prio set command. > dpif-netdev: add subtable-lookup-prio-get command. > dpdk: enable cpu feature detection. > dpif-lookup: add avx512 gather implementation. > docs/dpdk/bridge: add datapath performance section. > > Documentation/topics/dpdk/bridge.rst | 77 +++++++ > NEWS | 3 + > acinclude.m4 | 16 ++ > configure.ac | 4 + > lib/automake.mk | 24 +++ > lib/dpdk-stub.c | 9 + > lib/dpdk.c | 30 +++ > lib/dpdk.h | 2 + > lib/dpif-netdev-lookup-autovalidator.c | 110 ++++++++++ > lib/dpif-netdev-lookup-avx512-gather.c | 265 +++++++++++++++++++++++++ > lib/dpif-netdev-lookup-generic.c | 9 +- > lib/dpif-netdev-lookup.c | 124 ++++++++++++ > lib/dpif-netdev-lookup.h | 79 ++++++++ > lib/dpif-netdev-private.h | 15 -- > lib/dpif-netdev.c | 161 ++++++++++++++- > m4/openvswitch.m4 | 30 +++ > 16 files changed, 934 insertions(+), 24 deletions(-) > create mode 100644 lib/dpif-netdev-lookup-autovalidator.c > create mode 100644 lib/dpif-netdev-lookup-avx512-gather.c > create mode 100644 lib/dpif-netdev-lookup.c > create mode 100644 lib/dpif-netdev-lookup.h >
Hi. That's an interesting feature. Thanks for working on this! I didn't look to the code closely yet. Just one general note: We're not using tabs anywhere for indentation in user-visible output, but this patch-set does. So this should be changed to a couple of spaces. Best regards, Ilya Maximets. _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
