[dpdk-dev] [PATCH v2 0/3] enable AVX512 for iavf

Morten Brørup mb at smartsharesystems.com
Thu Sep 17 09:37:29 CEST 2020


> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Wenzhuo Lu
> Sent: Thursday, September 17, 2020 3:40 AM
> 
> AVX512 instructions is supported by more and more platforms. These
> instructions
> can be used in the data path to enhance the per-core performance of
> packet
> processing.
> Comparing with the existing implementation, this path set introduces
> some AVX512
> instructions into the iavf data path, and we get a better per-code
> throughput.
> 
> v2:
> Update meson.build.
> Repalce the deprecated 'buf_physaddr' by 'buf_iova'.
> 
> Wenzhuo Lu (3):
>   net/iavf: enable AVX512 for legacy RX
>   net/iavf: enable AVX512 for flexible RX
>   net/iavf: enable AVX512 for TX
> 
>  doc/guides/rel_notes/release_20_11.rst  |    3 +
>  drivers/net/iavf/iavf_ethdev.c          |    3 +-
>  drivers/net/iavf/iavf_rxtx.c            |   69 +-
>  drivers/net/iavf/iavf_rxtx.h            |   18 +
>  drivers/net/iavf/iavf_rxtx_vec_avx512.c | 1720
> +++++++++++++++++++++++++++++++
>  drivers/net/iavf/meson.build            |   17 +
>  6 files changed, 1818 insertions(+), 12 deletions(-)
>  create mode 100644 drivers/net/iavf/iavf_rxtx_vec_avx512.c
> 
> --
> 1.9.3
> 

I am not sure I understand the full context here, so please bear with me if I'm completely off...

With this patch set, it looks like the driver manipulates the mempool cache directly, bypassing the libararies encapsulating it.

Isn't that going deeper into a library than expected... What if the implementation of the mempool library changes radically?

And if there are performance gains to be achieved by using vector instructions for manipulating the mempool, perhaps your vector optimizations should go into the mempool library instead?


Med venlig hilsen / kind regards
- Morten Brørup





More information about the dev mailing list