[ovs-dev] [PATCH v6 0/6] DPCLS Subtable ISA Optimization

William Tu u9012063 at gmail.com
Sun Jul 5 14:06:05 UTC 2020


On Thu, Jul 2, 2020 at 10:42 AM Harry van Haaren
<harry.van.haaren at intel.com> 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.
>

The v6 looks good to me. It would be great if there is another pair of
eyes on this series.
It's a little hard for me to understand the avx512 gather
implementation (patch5),
but the idea of using autovalidator and it passes our test cases give
me more confidence
that it is correct.

Acked-by: William Tu <u9012063 at gmail.com>


More information about the dev mailing list