[v2,00/19] remove use of VLAs for Windows

Message ID 1713470562-17415-1-git-send-email-roretzla@linux.microsoft.com (mailing list archive)
Headers
Series remove use of VLAs for Windows |

Message

Tyler Retzlaff April 18, 2024, 8:02 p.m. UTC
  As per guidance technical board meeting 2024/04/17. This series
removes the use of VLAs from code built for Windows for all 3
toolchains. If there are additional opportunities to convert VLAs
to regular C arrays please provide the details for incorporation
into the series.

MSVC does not support VLAs, replace VLAs with standard C arrays
or alloca(). alloca() is available for all toolchain/platform
combinations officially supported by DPDK.

v2:
 * replace patches for ethdev, hash, rcu and include new
   patches for eal from Konstantin Ananyev
   from https://patchwork.dpdk.org/project/dpdk/list/?series=31781

Konstantin Ananyev (6):
  eal/linux: remove use of VLAs
  eal/common: remove use of VLAs
  ethdev: remove use of VLAs for Windows built code
  hash: remove use of VLAs for Windows built code
  hash/thash: remove use of VLAs for Windows built code
  rcu: remove use of VLAs for Windows built code

Tyler Retzlaff (13):
  eal: include header required for alloca
  gro: remove use of VLAs for Windows built code
  latencystats: remove use of VLAs for Windows built code
  lpm: remove use of VLAs for Windows built code
  app/testpmd: remove use of VLAs for Windows built code
  test: remove use of VLAs for Windows built code
  common/idpf: remove use of VLAs for Windows built code
  net/i40e: remove use of VLAs for Windows built code
  net/ice: remove use of VLAs for Windows built code
  net/ixgbe: remove use of VLAs for Windows built code
  common/mlx5: remove use of VLAs for Windows built code
  net/mlx5: remove use of VLAs for Windows built code
  build: enable vla warnings on Windows built code

 app/test-pmd/cmdline.c                        |   2 +-
 app/test-pmd/cmdline_flow.c                   |   9 +-
 app/test-pmd/config.c                         |  16 ++-
 app/test-pmd/shared_rxq_fwd.c                 |   2 +-
 app/test/test.c                               |   2 +-
 app/test/test_cmdline_string.c                |   2 +-
 app/test/test_cryptodev.c                     |  32 ++---
 app/test/test_cryptodev_blockcipher.c         |   4 +-
 app/test/test_cryptodev_crosscheck.c          |   2 +-
 app/test/test_dmadev.c                        |   9 +-
 app/test/test_hash.c                          |   8 +-
 app/test/test_mempool.c                       |  25 ++--
 app/test/test_reassembly_perf.c               |   4 +-
 app/test/test_reorder.c                       |  48 +++----
 app/test/test_service_cores.c                 |   9 +-
 app/test/test_thash.c                         |   7 +-
 config/meson.build                            |   4 +
 drivers/common/idpf/idpf_common_rxtx.c        |   2 +-
 drivers/common/idpf/idpf_common_rxtx_avx512.c |   6 +-
 drivers/common/mlx5/mlx5_common.h             |   4 +-
 drivers/common/mlx5/mlx5_devx_cmds.c          |   7 +-
 drivers/net/i40e/i40e_testpmd.c               |   5 +-
 drivers/net/ice/ice_rxtx.c                    |   2 +-
 drivers/net/ixgbe/ixgbe_ethdev.c              |   5 +-
 drivers/net/ixgbe/ixgbe_rxtx_vec_common.h     |   2 +-
 drivers/net/mlx5/mlx5.c                       |   5 +-
 drivers/net/mlx5/mlx5_flow.c                  |   6 +-
 lib/eal/common/eal_common_proc.c              |   5 +-
 lib/eal/linux/eal_interrupts.c                |  59 ++++++++-
 lib/eal/linux/include/rte_os.h                |   1 +
 lib/eal/windows/include/rte_os.h              |   1 +
 lib/ethdev/rte_ethdev.c                       | 183 ++++++++++++++++----------
 lib/gro/rte_gro.c                             |   4 +-
 lib/hash/rte_cuckoo_hash.c                    |   4 +-
 lib/hash/rte_thash.c                          |   2 +-
 lib/hash/rte_thash.h                          |   8 ++
 lib/latencystats/rte_latencystats.c           |   2 +-
 lib/lpm/rte_lpm.h                             |   2 +-
 lib/rcu/rte_rcu_qsbr.c                        |   7 +-
 lib/rcu/rte_rcu_qsbr.h                        |   5 +
 40 files changed, 314 insertions(+), 198 deletions(-)