On 7 Jul 2022, at 17:38, Emma Finn wrote:

> This patchset introduces actions infrastructure changes which allows
> the user to choose between different action implementations based on
> CPU ISA by using different commands.  The infrastructure also
> provides a way to check the correctness of the ISA optimized action
> version against the scalar version.
>
> This series also introduces optimized versions of the following
> actions:
>  - push_vlan
>  - pop_vlan
>  - set_masked eth
>  - set_masked ipv4
>
> Below is a table indicating some relative performance benefits for
> these actions.
> +-----------------------------------------------+-------------------+-----------------+
> | Actions                                       | Scalar with series| AVX 
> with series |
> +-----------------------------------------------+-------------------+-----------------+
> | mod_dl_dst                                    | 1.01x             | 1.13x   
>         |
> +-----------------------------------------------+-------------------+-----------------+
> | push_vlan                                     | 1.01x             | 1.10x   
>         |
> +-----------------------------------------------+-------------------+-----------------+
> | strip_vlan                                    | 1.01x             | 1.11x   
>         |
> +-----------------------------------------------+-------------------+-----------------+
> | mod_ipv4 1 x field                            | 1.01x             | 1.02x   
>         |
> +-----------------------------------------------+-------------------+-----------------+
> | mod_ipv4 4 x fields                           | 1.01x             | 1.21x   
>         |
> +-----------------------------------------------+-------------------+-----------------+
> | strip_vlan + mod_dl_dst + mod_ipv4 4 x fields | 1.01x             | 1.36x   
>         |
> +-----------------------------------------------+-------------------+-----------------+
Hi Emma,

Thanks for the v8! I’m planning to review this next week, however, there are 
some ongoing escalations and people that are on PTO, so no promise ;)

Also, I noticed a build failure by the robot you might want to investigate in 
the meantime.

Cheers,

Eelco


> ---
> v8:
> - First patch changing unit tests has been removed from series.
> - AVX checksum implementation has been reworked.
> - Dependency on userspace datapath has been resolved.
> ---
> v7:
> - Fix review comments from Eelco.
> ---
> v6:
> - Rebase to master
> - Add ISA implementation of set_masked eth and ipv4 actions
> - Fix incorrect checksums in input packets for ofproto-dpif unit
> tests
> ---
> v5:
> - Rebase to master
> - Minor change to variable names
> - Added Tags from Harry.
> ---
> v4:
> - Rebase to master
> - Add ISA implementation of push_vlan action
> ---
> v3:
> - Refactored to fix unit test failures
> - Removed some sign-off on commits
> ---
> v2:
> - Fix the CI build issues
> ---
>
>
> Emma Finn (9):
>   odp-execute: Add function pointers to odp-execute for different action
>     implementations.
>   odp-execute: Add function pointer for pop_vlan action.
>   odp-execute: Add auto validation function for actions.
>   odp-execute: Add command to switch action implementation.
>   odp-execute: Add ISA implementation of actions.
>   odp-execute: Add ISA implementation of pop_vlan action.
>   odp-execute: Add ISA implementation of push_vlan action.
>   odp-execute: Add ISA implementation of set_masked ETH
>   odp-execute: Add ISA implementation of set_masked IPv4 action
>
> Kumar Amber (1):
>   dpif-netdev: Add configure option to enable actions autovalidator at
>     build time.
>
>  Documentation/ref/ovs-actions.7.rst |  26 ++
>  Documentation/topics/testing.rst    |  24 +-
>  NEWS                                |   7 +
>  acinclude.m4                        |  21 ++
>  configure.ac                        |   1 +
>  lib/automake.mk                     |   9 +-
>  lib/cpu.c                           |   1 +
>  lib/cpu.h                           |   1 +
>  lib/dp-packet.c                     |  24 ++
>  lib/dp-packet.h                     |   4 +
>  lib/dpif-netdev.c                   |   5 +
>  lib/odp-execute-avx512.c            | 536 ++++++++++++++++++++++++++++
>  lib/odp-execute-private.c           | 274 ++++++++++++++
>  lib/odp-execute-private.h           | 100 ++++++
>  lib/odp-execute-unixctl.man         |  10 +
>  lib/odp-execute.c                   | 202 +++++++++--
>  lib/odp-execute.h                   |  10 +
>  tests/pmd.at                        |  39 ++
>  vswitchd/ovs-vswitchd.8.in          |   1 +
>  19 files changed, 1248 insertions(+), 47 deletions(-)
>  create mode 100644 lib/odp-execute-avx512.c
>  create mode 100644 lib/odp-execute-private.c
>  create mode 100644 lib/odp-execute-private.h
>  create mode 100644 lib/odp-execute-unixctl.man
>
> -- 
> 2.32.0

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to