From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 926C145D6C; Thu, 21 Nov 2024 20:23:37 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 256B042FBF; Thu, 21 Nov 2024 20:23:33 +0100 (CET) Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by mails.dpdk.org (Postfix) with ESMTP id C88FA40A6B for ; Thu, 21 Nov 2024 20:23:29 +0100 (CET) Received: by linux.microsoft.com (Postfix, from userid 1213) id E6F46205A779; Thu, 21 Nov 2024 11:23:28 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com E6F46205A779 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1732217008; bh=K5NX6j+0K6vtjCQDtiniKlfGNysfpp9D4BR50KT/Ec4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ig1JXblm/UiKKY1uYGKCocPQ0y6ItErQpNIVgoqPjyqYSROTfPBvv6t9kxWBFgH4Z K5RcDi2O2BZum0YQKBNTmpyE3wT0okSWCHTDIucvDqGW3IRi90GxB0GRLo+j5zg+A9 9a1RZwLuiq/7UaG+9iWTFIRgCnKRhwuNBTFSEPVk= From: Andre Muezerie To: dev@dpdk.org Cc: Andre Muezerie Subject: [PATCH v11 00/21] remove use of VLAs for Windows Date: Thu, 21 Nov 2024 11:22:57 -0800 Message-Id: <1732216998-3899-1-git-send-email-andremue@linux.microsoft.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1713397319-26135-1-git-send-email-roretzla@linux.microsoft.com> References: <1713397319-26135-1-git-send-email-roretzla@linux.microsoft.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org 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. v11: * add include stdlib.h for alloca() declaration on FreeBSD * zero-initialize array without code loop * increase maximum tuple length v10: * add ifdef to scope gcc's diagnostic error down to gcc only v9: * fix sender's email address * fix gcc's diagnostic error string to make clang happy v8: * rebase * reduce scope for disabling error "-Warray-bounds=" to only the place that needs it * remove parentesis around numbers from defines in test_bitset.c v7: * remove use of VLA from new file which sneaked in during review v6: * remove use of VLA from new test code added recently * fix title for patch 08/20 v5: * add patches for net/ice, net/ixgbe and gro from Konstantin Ananyev from https://patchwork.dpdk.org/project/dpdk/list/?series=31972&archive=both&state=* * address debug_autotest ASan failure * address array-bound error in bitset_autotest with gcc-13 v4: * rebase and adapt for changes made in main since v3 was sent * use fixed maximum array size instead of VLA when doable v3: * address checkpatch/check git log warnings (minor typos) 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 Andre Muezerie (3): test: remove use of VLAs for Windows built code in bitset tests app/testpmd: remove use of VLAs for Windows built code in shared_rxq_fwd hash: remove use of VLAs by using standard arrays Konstantin Ananyev (10): 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 rcu: remove use of VLAs for Windows built code gro: fix overwrite unprocessed packets gro: remove use of VLAs net/ixgbe: remove use of VLAs net/ice: remove use of VLAs Tyler Retzlaff (8): eal: include header required for alloca app/testpmd: remove use of VLAs for Windows built 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 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 | 15 +- app/test-pmd/config.c | 16 +- app/test-pmd/shared_rxq_fwd.c | 2 +- app/test/test.c | 2 +- app/test/test_bitset.c | 69 ++++--- app/test/test_cmdline_string.c | 2 +- app/test/test_cryptodev.c | 34 ++-- 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 | 14 +- app/test/test_lcore_var_perf.c | 2 +- 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 | 18 +- drivers/net/ice/ice_rxtx.h | 2 + drivers/net/ixgbe/ixgbe_ethdev.c | 21 +- drivers/net/ixgbe/ixgbe_rxtx_vec_common.h | 4 +- drivers/net/mlx5/mlx5.c | 5 +- drivers/net/mlx5/mlx5_flow.c | 6 +- lib/eal/common/eal_common_proc.c | 5 +- lib/eal/freebsd/include/rte_os.h | 1 + lib/eal/linux/eal_interrupts.c | 32 ++- 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 | 42 ++-- lib/hash/rte_cuckoo_hash.c | 4 +- lib/hash/rte_thash.c | 2 +- lib/hash/rte_thash.h | 7 + lib/hash/rte_thash_gf2_poly_math.c | 9 +- lib/rcu/rte_rcu_qsbr.c | 7 +- lib/rcu/rte_rcu_qsbr.h | 5 + 43 files changed, 384 insertions(+), 265 deletions(-) -- 2.47.0.vfs.0.3