[PATCH v5 00/11] remove component-specific logic for AVX builds
Varghese, Vipin
Vipin.Varghese at amd.com
Mon Jun 9 07:31:25 CEST 2025
[Public]
Snipped
> >
> > A number of libs and drivers had special optimized AVX2 and AVX512
> > code paths for performance reasons, and these tended to have
> > copy-pasted logic to build those files. Centralise that logic in the
> > main drivers/ and lib/ meson.build files to avoid duplication.
> >
> > v5: fix RTE_ARCH_X86 macro, which broke crc library
> > v4: rebase on latest main branch
> > minor fixes following feedback
> > limit use of -march=skylake-avx512 to when we don't already have a
> > -march flag supporting AVX512.
> > v3: add patch for event/dlb2 AVX512 handling.
> > add common code for libraries as well as drivers.
> > v2: add patch 4 to remove use of unnecessary CC_AVX2_SUPPORT flag
> >
> >
> > Bruce Richardson (11):
> > drivers: add generalized AVX build handling
> > net/intel: use common AVX build code
> > drivers/net: build use common AVX handling
> > drivers/net: remove AVX2 build-time define
> > event/dlb2: build using common AVX handling
> > lib: add generalized AVX build handling
> > acl: use common AVX build handling
> > fib: use common AVX build handling
> > net: simplify build-time logic for x86
> > net: use common AVX512 build code
> > member: use common AVX512 build support
> >
> > drivers/event/dlb2/dlb2_sse.c | 4 ++
> > drivers/event/dlb2/meson.build | 16 +-------
> > drivers/meson.build | 30 ++++++++++++++
> > drivers/net/bnxt/bnxt_ethdev.c | 2 -
> > drivers/net/bnxt/meson.build | 10 +----
> > drivers/net/enic/meson.build | 10 +----
> > drivers/net/intel/i40e/meson.build | 26 +-----------
> > drivers/net/intel/iavf/meson.build | 25 +-----------
> > drivers/net/intel/ice/meson.build | 25 +-----------
> > drivers/net/intel/idpf/meson.build | 25 +-----------
> > drivers/net/nfp/meson.build | 10 +----
> > drivers/net/octeon_ep/meson.build | 13 +-----
> > drivers/net/octeon_ep/otx_ep_ethdev.c | 4 --
> > drivers/net/virtio/meson.build | 9 +----
> > lib/acl/meson.build | 54 ++-----------------------
> > lib/fib/dir24_8.c | 6 +--
> > lib/fib/meson.build | 18 +--------
> > lib/fib/trie.c | 6 +--
> > lib/member/meson.build | 46 ++++-----------------
> > lib/meson.build | 34 +++++++++++++++-
> > lib/net/meson.build | 58 +++------------------------
> > lib/net/rte_net_crc.c | 16 ++++----
> > 22 files changed, 114 insertions(+), 333 deletions(-)
>
> Thank you Bruce, this series lgtm.
Series-Reviewed-by: vipin.varghese at amd.com
Series-Tested-by: Thiyagarajan.P at amd.com
Tested on:
SUT 1 & 2: AMD EPYC 8534P 64-Core Processor
CPU : AVX-512 Enabled, Turbo Boost disabled and NPS-1
NIC: Intel E810-CQDA2
DPDK version: v25.03
Traffic generator: Pktgen-23.06.1.
Number of Ports: 2
Total Speed: 200G.
Patch apply: 11 patches.
Testcase: testpmd io & l3fwd
Test scenario: 2C2T–2 Ports–1Rx1Tx scenario(64B and 128B buffer sizes).
Sumamry: On comparing the results with and without patch apply for both testpmd-io and l3fwd, the delta was less than 1%.
>
>
> --
> David Marchand
More information about the dev
mailing list