On 8 Dec 2022, at 17:01, Emma Finn wrote:
> This commit adds support for the AVX512 implementation of the
> ipv6_set_addrs action as well as an AVX512 implementation of
> updating the L4 checksums.
>
> Here are some relative performance numbers for this patch:
> +-----------------------------+----------------+
> | Actions | AVX with patch |
> +-----------------------------+----------------+
> | ipv6_src | 1.14x |
> +-----------------------------+----------------+
> | ipv6_src + ipv6_dst | 1.40x |
> +-----------------------------+----------------+
> | ipv6_label | 1.14x |
> +-----------------------------+----------------+
> | mod_ipv6 4 x field | 1.43x |
> +-----------------------------+----------------+
>
> Signed-off-by: Emma Finn <[email protected]>
>
> ---
> v8:
> - Added check for L4 header length.
> v7:
> - Added clearing of connection tracking fields.
> v6:
> - Added check for ipv6 extension headers.
> v5:
> - Fixed load for ip6 src and dst mask for checksum check.
> v4:
> - Reworked and moved check for checksum outside loop.
> - Code cleanup based on review from Eelco.
> v3:
> - Added a runtime check for AVX512 vbmi.
> v2:
> - Added check for availbility of s6_addr32 field of struct in6_addr.
> - Fixed network headers for freebsd builds.
> ---
Thanks for following this through! The changes look good to me, and found an
AVX machine to run some tests :)
Acked-by: Eelco Chaudron <[email protected]>
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev