Message ID | 1715019531-22796-1-git-send-email-roretzla@linux.microsoft.com (mailing list archive) |
---|---|
Headers |
Return-Path: <dev-bounces@dpdk.org> X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id A2A9D43F5C; Mon, 6 May 2024 20:18:59 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C0DAD40684; Mon, 6 May 2024 20:18:56 +0200 (CEST) Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by mails.dpdk.org (Postfix) with ESMTP id 6A5AF402D5 for <dev@dpdk.org>; Mon, 6 May 2024 20:18:53 +0200 (CEST) Received: by linux.microsoft.com (Postfix, from userid 1086) id B38EE20B2C82; Mon, 6 May 2024 11:18:52 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com B38EE20B2C82 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1715019532; bh=vsZUFJX9IxJbhjpXT2+gr5TVdwe8bsiQCfmDt2s/IQs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Olykcm5YTsnuG6q92OTlVC4AULkxIxa1QAkIfLosi2S0Zkki1rFZVTecKPSRNDq72 vKX9OhSEt8QySjLIRrWTszZArNjchDERxi4j/GW64ZBmgt4RhuMb+wrLVnF6obIZMZ IIQjmW9rpvIvK7vDRTVk2AB6otG/Y2rmyhNqhsik= From: Tyler Retzlaff <roretzla@linux.microsoft.com> To: dev@dpdk.org Cc: =?utf-8?q?Morten_Br=C3=B8rup?= <mb@smartsharesystems.com>, Akhil Goyal <gakhil@marvell.com>, Aman Singh <aman.deep.singh@intel.com>, Anatoly Burakov <anatoly.burakov@intel.com>, Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>, Bruce Richardson <bruce.richardson@intel.com>, Chengwen Feng <fengchengwen@huawei.com>, Dariusz Sosnowski <dsosnowski@nvidia.com>, Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>, Fan Zhang <fanzhang.oss@gmail.com>, Ferruh Yigit <ferruh.yigit@amd.com>, Harman Kalra <hkalra@marvell.com>, Harry van Haaren <harry.van.haaren@intel.com>, Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>, Jiayu Hu <hujiayu.hu@foxmail.com>, Jingjing Wu <jingjing.wu@intel.com>, Kevin Laatz <kevin.laatz@intel.com>, Konstantin Ananyev <konstantin.v.ananyev@yandex.ru>, Matan Azrad <matan@nvidia.com>, Ori Kam <orika@nvidia.com>, Pallavi Kadam <pallavi.kadam@intel.com>, Reshma Pattan <reshma.pattan@intel.com>, Sameh Gobriel <sameh.gobriel@intel.com>, Suanming Mou <suanmingm@nvidia.com>, Thomas Monjalon <thomas@monjalon.net>, Tyler Retzlaff <roretzla@linux.microsoft.com>, Viacheslav Ovsiienko <viacheslavo@nvidia.com>, Vladimir Medvedkin <vladimir.medvedkin@intel.com>, Volodymyr Fialko <vfialko@marvell.com>, Yipeng Wang <yipeng1.wang@intel.com> Subject: [PATCH v3 00/19] remove use of VLAs for Windows Date: Mon, 6 May 2024 11:18:32 -0700 Message-Id: <1715019531-22796-1-git-send-email-roretzla@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 <dev.dpdk.org> List-Unsubscribe: <https://mails.dpdk.org/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://mails.dpdk.org/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <https://mails.dpdk.org/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org |
Series |
remove use of VLAs for Windows
|
|
Message
Tyler Retzlaff
May 6, 2024, 6:18 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. 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 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(-)
Comments
Hello guys, On Mon, May 6, 2024 at 8:19 PM Tyler Retzlaff <roretzla@linux.microsoft.com> wrote: > > 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. > > 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 > > 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(-) I see discussions on patches for some net drivers and the gro library. Can you please sync and summarize which patches goes though next-net, though main etc..? In any case, I think this cleanup can wait 24.11. For now, I merged Stephen alternatives for lpm and latencystats as the patches looked clean and were acked. Thanks.