From patchwork Thu Feb 15 06:21:02 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tyler Retzlaff X-Patchwork-Id: 648 Return-Path: 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 3E79B43B06; Thu, 15 Feb 2024 07:21:39 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id ECA2943392; Thu, 15 Feb 2024 07:21:38 +0100 (CET) Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by mails.dpdk.org (Postfix) with ESMTP id AC6BE43386 for ; Thu, 15 Feb 2024 07:21:36 +0100 (CET) Received: by linux.microsoft.com (Postfix, from userid 1086) id F2879207F224; Wed, 14 Feb 2024 22:21:35 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com F2879207F224 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1707978096; bh=SNgRLDNMgMCGpP10ixxImbwtamkE0L1PdVfuOyO2Ppo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=C+rW7hRbKMqb4THIaH9TVEstRsjNa5KatR3YYBOMopr6PsZevesartZmyafbc+Ah2 /duGLEZu+Dljo3GW6KJpXkfLsskdKt8DcCWWS4jqtuE7Ni2lgyS2Xz9anUAHPDhFZH llo4XILAg/8EndFcN7Nhs258rFoHsq15+kVv6ato= From: Tyler Retzlaff To: dev@dpdk.org Cc: Ajit Khaparde , Andrew Boyer , Andrew Rybchenko , Bruce Richardson , Chenbo Xia , Chengwen Feng , Dariusz Sosnowski , David Christensen , Hyong Youb Kim , Jerin Jacob , Jie Hai , Jingjing Wu , John Daley , Kevin Laatz , Kiran Kumar K , Konstantin Ananyev , Maciej Czekaj , Matan Azrad , Maxime Coquelin , Nithin Dabilpuram , Ori Kam , Ruifeng Wang , Satha Rao , Somnath Kotur , Suanming Mou , Sunil Kumar Kori , Viacheslav Ovsiienko , Yisen Zhuang , Yuying Zhang , mb@smartsharesystems.com, Tyler Retzlaff Subject: [PATCH v4 00/18] stop using zero sized marker fields Date: Wed, 14 Feb 2024 22:21:02 -0800 Message-Id: <1707978080-28859-1-git-send-email-roretzla@linux.microsoft.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1706657173-26166-1-git-send-email-roretzla@linux.microsoft.com> References: <1706657173-26166-1-git-send-email-roretzla@linux.microsoft.com> 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 The zero sized RTE_MARKER typedefs are a GCC extension unsupported by MSVC. This series adds new fields and allows deprecation of the old. Introduce new anonymous union fields with mbuf_ prefix for cacheline0, rearm_data, rx_descriptor_fields1, and cacheline1. Remove in-tree use of the zero sized marker fields and adapt consuming code to use the new anonymous union fields. Question: what is the correct mechanism to allow uncommenting of __rte_deprecated in __rte_marker when building DPDK itself but not when building applications? Tyler Retzlaff (18): mbuf: deprecate GCC marker in rte mbuf struct mbuf: stop using zero sized marker fields net/i40e: stop using zero sized marker fields net/iavf: stop using zero sized marker fields net/ice: stop using zero sized marker fields net/ixgbe: stop using zero sized marker fields net/mlx5: stop using zero sized marker fields net/sfc: stop using zero sized marker fields net/bnxt: stop using zero sized marker fields net/enic: stop using zero sized marker fields net/fm10k: stop using zero sized marker fields net/hns3: stop using zero sized marker fields net/ionic: stop using zero sized marker fields net/thunderx: stop using zero sized marker fields net/virtio: stop using zero sized marker fields net/cnxk: stop using zero sized marker fields common/idpf: stop using zero sized marker fields examples/dma: stop using zero sized marker fields doc/guides/rel_notes/deprecation.rst | 20 ++ drivers/common/idpf/idpf_common_rxtx.c | 4 +- drivers/common/idpf/idpf_common_rxtx_avx512.c | 60 ++-- drivers/net/bnxt/bnxt_rxtx_vec_avx2.c | 18 +- drivers/net/bnxt/bnxt_rxtx_vec_common.h | 4 +- drivers/net/bnxt/bnxt_rxtx_vec_neon.c | 20 +- drivers/net/bnxt/bnxt_rxtx_vec_sse.c | 20 +- drivers/net/cnxk/cn10k_rx.h | 50 ++-- drivers/net/cnxk/cn9k_rx.h | 34 +-- drivers/net/cnxk/cnxk_ethdev.c | 4 +- drivers/net/enic/enic.h | 2 +- drivers/net/enic/enic_main.c | 4 +- drivers/net/enic/enic_rxtx_vec_avx2.c | 22 +- drivers/net/fm10k/fm10k_rxtx_vec.c | 24 +- drivers/net/hns3/hns3_rxtx_vec.c | 22 +- drivers/net/hns3/hns3_rxtx_vec_neon.h | 28 +- drivers/net/hns3/hns3_rxtx_vec_sve.c | 6 +- drivers/net/i40e/i40e_rxtx_vec_altivec.c | 14 +- drivers/net/i40e/i40e_rxtx_vec_avx2.c | 30 +- drivers/net/i40e/i40e_rxtx_vec_avx512.c | 32 +- drivers/net/i40e/i40e_rxtx_vec_common.h | 4 +- drivers/net/i40e/i40e_rxtx_vec_neon.c | 16 +- drivers/net/i40e/i40e_rxtx_vec_sse.c | 34 +-- drivers/net/iavf/iavf_rxtx_vec_avx2.c | 60 ++-- drivers/net/iavf/iavf_rxtx_vec_avx512.c | 60 ++-- drivers/net/iavf/iavf_rxtx_vec_common.h | 4 +- drivers/net/iavf/iavf_rxtx_vec_neon.c | 16 +- drivers/net/iavf/iavf_rxtx_vec_sse.c | 68 ++--- drivers/net/ice/ice_rxtx_vec_avx2.c | 30 +- drivers/net/ice/ice_rxtx_vec_avx512.c | 30 +- drivers/net/ice/ice_rxtx_vec_common.h | 4 +- drivers/net/ice/ice_rxtx_vec_sse.c | 34 +-- drivers/net/ionic/ionic_lif.c | 8 +- drivers/net/ionic/ionic_rxtx_sg.c | 4 +- drivers/net/ionic/ionic_rxtx_simple.c | 2 +- drivers/net/ixgbe/ixgbe_rxtx_vec_common.h | 4 +- drivers/net/ixgbe/ixgbe_rxtx_vec_neon.c | 12 +- drivers/net/ixgbe/ixgbe_rxtx_vec_sse.c | 42 +-- drivers/net/mlx5/mlx5_rxq.c | 6 +- drivers/net/mlx5/mlx5_rxtx_vec.h | 16 +- drivers/net/mlx5/mlx5_rxtx_vec_altivec.h | 48 +-- drivers/net/mlx5/mlx5_rxtx_vec_neon.h | 42 +-- drivers/net/mlx5/mlx5_rxtx_vec_sse.h | 48 +-- drivers/net/sfc/sfc_ef100_rx.c | 10 +- drivers/net/sfc/sfc_ef10_rx.c | 14 +- drivers/net/thunderx/nicvf_ethdev.c | 4 +- drivers/net/thunderx/nicvf_rxtx.h | 4 +- drivers/net/virtio/virtio_rxtx_packed.h | 4 +- drivers/net/virtio/virtio_rxtx_packed_avx.h | 14 +- drivers/net/virtio/virtio_rxtx_packed_neon.h | 18 +- drivers/net/virtio/virtio_rxtx_simple.c | 4 +- drivers/net/virtio/virtio_rxtx_simple.h | 2 +- drivers/net/virtio/virtio_rxtx_simple_altivec.c | 16 +- drivers/net/virtio/virtio_rxtx_simple_neon.c | 16 +- drivers/net/virtio/virtio_rxtx_simple_sse.c | 16 +- examples/dma/dmafwd.c | 4 +- lib/eal/include/rte_common.h | 6 + lib/mbuf/rte_mbuf.h | 4 +- lib/mbuf/rte_mbuf_core.h | 375 +++++++++++++----------- 59 files changed, 793 insertions(+), 728 deletions(-)