Message ID | 1710949096-5786-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 6CF0543D05; Wed, 20 Mar 2024 16:38:23 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id CF002410FC; Wed, 20 Mar 2024 16:38:22 +0100 (CET) Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by mails.dpdk.org (Postfix) with ESMTP id 7DD55402B9 for <dev@dpdk.org>; Wed, 20 Mar 2024 16:38:21 +0100 (CET) Received: by linux.microsoft.com (Postfix, from userid 1086) id 6D9D720B74C0; Wed, 20 Mar 2024 08:38:20 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 6D9D720B74C0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1710949100; bh=phciDAG37yQwPEgqKBFA86PNCWlihNz/fEo1B3XieRI=; h=From:To:Cc:Subject:Date:From; b=b3ajKIBdzEE6tvOIE4Pma1stF3L1LqZ7f4OXY6iZtR8uL0IxbmP/U17uxtwBIUWnp Q+oD8trlFln0sjJ+CjfJ5gUx3uT3UFyzCN5sIahFQkDafpv/fmYsEmAGOTTn5/S1ZM zXy+kV8KYPzCPMwP5SU7NM4hapzlFhr4lrN35O7Q= From: Tyler Retzlaff <roretzla@linux.microsoft.com> To: dev@dpdk.org Cc: =?utf-8?q?Mattias_R=C3=B6nnblom?= <mattias.ronnblom@ericsson.com>, "Min Hu (Connor)" <humin29@huawei.com>, =?utf-8?q?Morten_Br=C3=B8rup?= <mb@smartsharesystems.com>, Abdullah Sevincer <abdullah.sevincer@intel.com>, Ajit Khaparde <ajit.khaparde@broadcom.com>, Akhil Goyal <gakhil@marvell.com>, Alok Prasad <palok@marvell.com>, Amit Bernstein <amitbern@amazon.com>, Anatoly Burakov <anatoly.burakov@intel.com>, Andrew Boyer <andrew.boyer@amd.com>, Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>, Ankur Dwivedi <adwivedi@marvell.com>, Anoob Joseph <anoobj@marvell.com>, Ashish Gupta <ashish.gupta@marvell.com>, Ashwin Sekhar T K <asekhar@marvell.com>, Bruce Richardson <bruce.richardson@intel.com>, Byron Marohn <byron.marohn@intel.com>, Chaoyong He <chaoyong.he@corigine.com>, Chas Williams <chas3@att.com>, Chenbo Xia <chenbox@nvidia.com>, Chengwen Feng <fengchengwen@huawei.com>, Conor Walsh <conor.walsh@intel.com>, Cristian Dumitrescu <cristian.dumitrescu@intel.com>, Dariusz Sosnowski <dsosnowski@nvidia.com>, David Hunt <david.hunt@intel.com>, Devendra Singh Rawat <dsinghrawat@marvell.com>, Ed Czeck <ed.czeck@atomicrules.com>, Evgeny Schemeilin <evgenys@amazon.com>, Fan Zhang <fanzhang.oss@gmail.com>, Gagandeep Singh <g.singh@nxp.com>, Guoyang Zhou <zhouguoyang@huawei.com>, Harman Kalra <hkalra@marvell.com>, Harry van Haaren <harry.van.haaren@intel.com>, Hemant Agrawal <hemant.agrawal@nxp.com>, Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>, Hyong Youb Kim <hyonkim@cisco.com>, Jakub Grajciar <jgrajcia@cisco.com>, Jerin Jacob <jerinj@marvell.com>, Jian Wang <jianwang@trustnetic.com>, Jiawen Wu <jiawenwu@trustnetic.com>, Jie Hai <haijie1@huawei.com>, Jingjing Wu <jingjing.wu@intel.com>, John Daley <johndale@cisco.com>, John Miller <john.miller@atomicrules.com>, Joyce Kong <joyce.kong@arm.com>, Junfeng Guo <junfeng.guo@intel.com>, Kai Ji <kai.ji@intel.com>, Kevin Laatz <kevin.laatz@intel.com>, Kiran Kumar K <kirankumark@marvell.com>, Konstantin Ananyev <konstantin.v.ananyev@yandex.ru>, Lee Daly <lee.daly@intel.com>, Liang Ma <liangma@liangbit.com>, Liron Himi <lironh@marvell.com>, Long Li <longli@microsoft.com>, Maciej Czekaj <mczekaj@marvell.com>, Matan Azrad <matan@nvidia.com>, Matt Peters <matt.peters@windriver.com>, Maxime Coquelin <maxime.coquelin@redhat.com>, Michael Shamis <michaelsh@marvell.com>, Nagadheeraj Rottela <rnagadheeraj@marvell.com>, Nicolas Chautru <nicolas.chautru@intel.com>, Nithin Dabilpuram <ndabilpuram@marvell.com>, Ori Kam <orika@nvidia.com>, Pablo de Lara <pablo.de.lara.guarch@intel.com>, Pavan Nikhilesh <pbhagavatula@marvell.com>, Peter Mccarthy <peter.mccarthy@intel.com>, Radu Nicolau <radu.nicolau@intel.com>, Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>, Rakesh Kudurumalla <rkudurumalla@marvell.com>, Raveendra Padasalagi <raveendra.padasalagi@broadcom.com>, Reshma Pattan <reshma.pattan@intel.com>, Ron Beider <rbeider@amazon.com>, Ruifeng Wang <ruifeng.wang@arm.com>, Sachin Saxena <sachin.saxena@nxp.com>, Selwin Sebastian <selwin.sebastian@amd.com>, Shai Brandes <shaibran@amazon.com>, Shepard Siegel <shepard.siegel@atomicrules.com>, Shijith Thotton <sthotton@marvell.com>, Sivaprasad Tummala <sivaprasad.tummala@amd.com>, Somnath Kotur <somnath.kotur@broadcom.com>, Srikanth Yalavarthi <syalavarthi@marvell.com>, Stephen Hemminger <stephen@networkplumber.org>, Steven Webster <steven.webster@windriver.com>, Suanming Mou <suanmingm@nvidia.com>, Sunil Kumar Kori <skori@marvell.com>, Sunil Uttarwar <sunilprakashrao.uttarwar@amd.com>, Sunila Sahu <ssahu@marvell.com>, Tejasree Kondoj <ktejasree@marvell.com>, Viacheslav Ovsiienko <viacheslavo@nvidia.com>, Vikas Gupta <vikas.gupta@broadcom.com>, Volodymyr Fialko <vfialko@marvell.com>, Wajeeh Atrash <atrwajee@amazon.com>, Wisam Jaddo <wisamm@nvidia.com>, Xiaoyun Wang <cloud.wangxiaoyun@huawei.com>, Yipeng Wang <yipeng1.wang@intel.com>, Yisen Zhuang <yisen.zhuang@huawei.com>, Yuying Zhang <Yuying.Zhang@intel.com>, Zhangfei Gao <zhangfei.gao@linaro.org>, Zhirun Yan <yanzhirun_163@163.com>, Ziyang Xuan <xuanziyang2@huawei.com>, Tyler Retzlaff <roretzla@linux.microsoft.com> Subject: [PATCH 00/83] move alignment attribute on types Date: Wed, 20 Mar 2024 08:36:53 -0700 Message-Id: <1710949096-5786-1-git-send-email-roretzla@linux.microsoft.com> X-Mailer: git-send-email 1.8.3.1 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 |
move alignment attribute on types
|
|
Message
Tyler Retzlaff
March 20, 2024, 3:36 p.m. UTC
The current location used for __rte_aligned(a) for alignment of types and variables is not compatible with MSVC. There is only a single location accepted by both toolchains. After having established this as the conventional standard for lib/* this series is intended to convert the remainder of the source tree to use the same location for __rte_aligned(a) and alignas(a) for consistency. Tyler Retzlaff (83): examples: move alignment attribute on types net/ark: move alignment attribute on types net/avp: move alignment attribute on types net/axgbe: move alignment attribute on types net/bnxt: move alignment attribute on types net/bonding: move alignment attribute on types net/cxgbe: move alignment attribute on types net/e1000: move alignment attribute on types net/ena: move alignment attribute on types net/enic: move alignment attribute on types net/fm10k: move alignment attribute on types net/hinic: move alignment attribute on types net/hns3: move alignment attribute on types net/i40e: move alignment attribute on types net/iavf: move alignment attribute on types net/ice: move alignment attribute on types net/igc: move alignment attribute on types net/ionic: move alignment attribute on types net/ixgbe: move alignment attribute on types net/memif: move alignment attribute on types net/mlx5: move alignment attribute on types net/mlx4: move alignment attribute on types net/mvpp2: move alignment attribute on types net/netvsc: move alignment attribute on types net/nfp: move alignment attribute on types net/ngbe: move alignment attribute on types net/octeontx: move alignment attribute on types net/pfe: move alignment attribute on types net/qede: move alignment attribute on types net/softnic: move alignment attribute on types net/tap: move alignment attribute on types net/thunderx: move alignment attribute on types net/txgbe: move alignment attribute on types net/virtio: move alignment attribute on types vdpa/mlx5: move alignment attribute on types regex/cn9k: move alignment attribute on types raw/ntb: move alignment attribute on types ml/cnxk: move alignment attribute on types mempool/cnxk: move alignment attribute on types event/sw: move alignment attribute on types event/skeleton: move alignment attribute on types event/opdl: move alignment attribute on types event/octeontx: move alignment attribute on types event/dsw: move alignment attribute on types event/dlb2: move alignment attribute on types event/cnxk: move alignment attribute on types dma/skeleton: move alignment attribute on types dma/ioat: move alignment attribute on types dma/idxd: move alignment attribute on types crypto/uadk: move alignment attribute on types crypto/scheduler: move alignment attribute on types crypto/qat: move alignment attribute on types crypto/openssl: move alignment attribute on types crypto/octeontx: move alignment attribute on types crypto/null: move alignment attribute on types crypto/mvsam: move alignment attribute on types crypto/mlx5: move alignment attribute on types crypto/ipsec_mb: move alignment attribute on types crypto/cnxk: move alignment attribute on types crypto/ccp: move alignment attribute on types crypto/caam_jr: move alignment attribute on types crypto/bcmfs: move alignment attribute on types crypto/armv8: move alignment attribute on types compress/zlib: move alignment attribute on types compress/qat: move alignment attribute on types compress/octeontx: move alignment attribute on types compress/nitrox: move alignment attribute on types compress/isal: move alignment attribute on types common/qat: move alignment attribute on types common/mlx5: move alignment attribute on types common/idpf: move alignment attribute on types common/cpt: move alignment attribute on types bus/fslmc: move alignment attribute on types baseband/turbo_sw: move alignment attribute on types baseband/null: move alignment attribute on types app/test: move alignment attribute on types app/test-pipeline: move alignment attribute on types app/test-mldev: move alignment attribute on types app/test-flow-perf: move alignment attribute on types app/test-eventdev: move alignment attribute on types app/pdump: move alignment attribute on types app/graph: move alignment attribute on types bus/dpaa: move alignment attribute on types app/graph/ethdev_rx.h | 4 +- app/graph/ethdev_rx_priv.h | 4 +- app/pdump/main.c | 4 +- app/test-eventdev/test_order_common.h | 4 +- app/test-eventdev/test_perf_common.h | 24 +++++----- app/test-eventdev/test_pipeline_common.h | 18 ++++---- app/test-flow-perf/actions_gen.c | 51 ++++++++++++---------- app/test-flow-perf/items_gen.c | 22 +++++----- app/test-flow-perf/main.c | 8 ++-- app/test-mldev/test_device_ops.h | 4 +- app/test-mldev/test_inference_common.h | 4 +- app/test-mldev/test_model_ops.h | 4 +- app/test-pipeline/main.h | 4 +- app/test/test_cryptodev_aead_test_vectors.h | 6 +-- app/test/test_cryptodev_blockcipher.h | 2 +- app/test/test_cryptodev_kasumi_test_vectors.h | 2 +- app/test/test_cryptodev_mixed_test_vectors.h | 2 +- .../test_cryptodev_security_docsis_test_vectors.h | 2 +- app/test/test_cryptodev_snow3g_test_vectors.h | 2 +- app/test/test_cryptodev_zuc_test_vectors.h | 2 +- app/test/test_distributor.c | 12 ++--- app/test/test_distributor_perf.c | 6 +-- app/test/test_mempool_perf.c | 6 +-- app/test/test_pmd_perf.c | 4 +- app/test/test_ring_stress_impl.h | 10 ++--- app/test/test_rwlock.c | 8 ++-- app/test/test_seqlock.c | 8 ++-- app/test/test_ticketlock.c | 4 +- app/test/test_trace_perf.c | 8 ++-- drivers/baseband/null/bbdev_null.c | 4 +- drivers/baseband/turbo_sw/bbdev_turbo_software.c | 4 +- drivers/bus/dpaa/base/qbman/qman.c | 3 +- drivers/bus/dpaa/include/fsl_bman.h | 4 +- drivers/bus/dpaa/include/fsl_qman.h | 20 ++++----- drivers/bus/fslmc/portal/dpaa2_hw_pvt.h | 4 +- drivers/common/cpt/cpt_common.h | 4 +- drivers/common/idpf/idpf_common_device.h | 2 +- drivers/common/mlx5/linux/mlx5_glue.c | 2 +- drivers/common/mlx5/linux/mlx5_nl.c | 2 +- drivers/common/mlx5/mlx5_common_mr.h | 4 +- drivers/common/mlx5/mlx5_common_utils.h | 12 ++--- drivers/common/mlx5/mlx5_prm.h | 4 +- drivers/common/qat/qat_adf/icp_qat_hw.h | 8 ++-- drivers/common/qat/qat_common.h | 4 +- drivers/common/qat/qat_qp.h | 6 +-- drivers/compress/isal/isal_compress_pmd_private.h | 8 ++-- drivers/compress/nitrox/nitrox_comp_reqmgr.c | 2 +- drivers/compress/octeontx/otx_zip.h | 16 +++---- drivers/compress/qat/qat_comp.h | 4 +- drivers/compress/zlib/zlib_pmd_private.h | 12 ++--- drivers/crypto/armv8/armv8_pmd_private.h | 14 +++--- drivers/crypto/bcmfs/bcmfs_qp.h | 4 +- drivers/crypto/bcmfs/bcmfs_sym_session.h | 4 +- drivers/crypto/caam_jr/caam_jr_desc.h | 8 ++-- drivers/crypto/ccp/ccp_crypto.h | 4 +- drivers/crypto/ccp/ccp_dev.h | 8 ++-- drivers/crypto/ccp/ccp_pmd_private.h | 8 ++-- drivers/crypto/cnxk/cn10k_cryptodev_sec.h | 4 +- drivers/crypto/cnxk/cn10k_ipsec.h | 4 +- drivers/crypto/cnxk/cn10k_tls.h | 4 +- drivers/crypto/cnxk/cn9k_cryptodev_ops.c | 2 +- drivers/crypto/cnxk/cn9k_ipsec.h | 8 ++-- drivers/crypto/cnxk/cnxk_cryptodev_ops.h | 4 +- drivers/crypto/cnxk/cnxk_se.h | 4 +- drivers/crypto/ipsec_mb/pmd_aesni_mb.c | 4 +- drivers/crypto/ipsec_mb/pmd_aesni_mb_priv.h | 24 +++++----- drivers/crypto/ipsec_mb/pmd_chacha_poly_priv.h | 4 +- drivers/crypto/ipsec_mb/pmd_kasumi_priv.h | 4 +- drivers/crypto/ipsec_mb/pmd_snow3g_priv.h | 4 +- drivers/crypto/ipsec_mb/pmd_zuc_priv.h | 4 +- drivers/crypto/mlx5/mlx5_crypto.h | 4 +- drivers/crypto/mvsam/mrvl_pmd_private.h | 12 ++--- drivers/crypto/mvsam/rte_mrvl_pmd.c | 12 +++-- drivers/crypto/null/null_crypto_pmd_private.h | 8 ++-- drivers/crypto/octeontx/otx_cryptodev_hw_access.h | 4 +- drivers/crypto/openssl/openssl_pmd_private.h | 12 ++--- drivers/crypto/qat/qat_asym.h | 15 +++---- drivers/crypto/qat/qat_sym.h | 8 ++-- drivers/crypto/qat/qat_sym_session.h | 10 ++--- .../crypto/scheduler/scheduler_pkt_size_distr.c | 4 +- drivers/crypto/scheduler/scheduler_pmd_private.h | 8 ++-- drivers/crypto/uadk/uadk_crypto_pmd_private.h | 12 ++--- drivers/dma/idxd/idxd_hw_defs.h | 38 ++++++++-------- drivers/dma/ioat/ioat_internal.h | 4 +- drivers/dma/skeleton/skeleton_dmadev.h | 4 +- drivers/event/cnxk/cn10k_eventdev.h | 8 ++-- drivers/event/cnxk/cnxk_eventdev.h | 24 +++++----- drivers/event/cnxk/cnxk_tim_evdev.h | 4 +- drivers/event/cnxk/cnxk_tim_worker.c | 2 +- drivers/event/dlb2/dlb2_priv.h | 16 +++---- drivers/event/dsw/dsw_evdev.h | 20 ++++----- drivers/event/octeontx/ssovf_evdev.h | 8 ++-- drivers/event/octeontx/timvf_evdev.h | 8 ++-- drivers/event/octeontx/timvf_worker.c | 2 +- drivers/event/opdl/opdl_evdev.h | 6 +-- drivers/event/opdl/opdl_ring.c | 19 ++++---- drivers/event/skeleton/skeleton_eventdev.h | 8 ++-- drivers/event/sw/event_ring.h | 2 +- drivers/event/sw/iq_chunk.h | 4 +- drivers/event/sw/sw_evdev.h | 18 ++++---- drivers/mempool/cnxk/cn10k_mempool_ops.c | 4 +- drivers/ml/cnxk/cnxk_ml_ops.h | 4 +- drivers/net/ark/ark_ethdev_rx.c | 6 +-- drivers/net/ark/ark_ethdev_tx.c | 6 +-- drivers/net/avp/avp_ethdev.c | 8 ++-- drivers/net/avp/rte_avp_common.h | 4 +- drivers/net/axgbe/axgbe_rxtx.h | 8 ++-- drivers/net/bnxt/bnxt_rxr.c | 2 +- drivers/net/bonding/rte_eth_bond_8023ad.h | 28 ++++++------ drivers/net/cxgbe/base/adapter.h | 14 +++--- drivers/net/cxgbe/cxgbe_ofld.h | 2 +- drivers/net/e1000/igb_rxtx.c | 4 +- drivers/net/ena/ena_ethdev.h | 17 ++++---- drivers/net/enic/enic_rxtx_common.h | 2 +- drivers/net/fm10k/fm10k_rxtx.c | 5 +-- drivers/net/hinic/hinic_pmd_rx.h | 8 ++-- drivers/net/hns3/hns3_ethdev.h | 4 +- drivers/net/hns3/hns3_fdir.c | 4 +- drivers/net/hns3/hns3_rxtx.h | 4 +- drivers/net/i40e/i40e_ethdev.h | 4 +- drivers/net/i40e/i40e_rxtx.h | 2 +- drivers/net/iavf/iavf.h | 2 +- drivers/net/iavf/iavf_rxtx.c | 3 +- drivers/net/ice/ice_ethdev.h | 2 +- drivers/net/ice/ice_rxtx.c | 3 +- drivers/net/igc/igc_txrx.c | 4 +- drivers/net/ionic/ionic_lif.h | 2 +- drivers/net/ionic/ionic_rxtx.c | 6 +-- drivers/net/ixgbe/ixgbe_ipsec.h | 4 +- drivers/net/ixgbe/ixgbe_rxtx.c | 10 ++--- drivers/net/memif/memif.h | 2 +- drivers/net/mlx4/mlx4_rxtx.c | 2 +- drivers/net/mlx5/hws/mlx5dr_send.h | 4 +- drivers/net/mlx5/mlx5.h | 6 +-- drivers/net/mlx5/mlx5_flow.h | 4 +- drivers/net/mlx5/mlx5_hws_cnt.h | 14 +++--- drivers/net/mlx5/mlx5_rx.h | 4 +- drivers/net/mlx5/mlx5_rxtx.c | 6 +-- drivers/net/mlx5/mlx5_tx.h | 10 ++--- drivers/net/mlx5/mlx5_utils.h | 2 +- drivers/net/mvpp2/mrvl_ethdev.h | 4 +- drivers/net/netvsc/hn_var.h | 4 +- drivers/net/nfp/flower/nfp_flower_flow.c | 4 +- drivers/net/nfp/nfp_ipsec.h | 4 +- drivers/net/nfp/nfp_rxtx.h | 8 ++-- drivers/net/ngbe/ngbe_ptypes.c | 2 +- drivers/net/ngbe/ngbe_rxtx.c | 2 +- drivers/net/octeontx/octeontx_ethdev.c | 4 +- drivers/net/octeontx/octeontx_ethdev.h | 12 ++--- drivers/net/octeontx/octeontx_rxtx.h | 2 +- drivers/net/pfe/base/pfe.h | 4 +- drivers/net/qede/qede_rxtx.c | 14 +++--- drivers/net/softnic/rte_eth_softnic_internals.h | 4 +- drivers/net/tap/tap_bpf.h | 4 +- drivers/net/thunderx/nicvf_rxtx.c | 8 ++-- drivers/net/thunderx/nicvf_struct.h | 16 +++---- drivers/net/txgbe/txgbe_ipsec.h | 4 +- drivers/net/txgbe/txgbe_ptypes.c | 10 ++--- drivers/net/txgbe/txgbe_rxtx.c | 2 +- drivers/net/virtio/virtqueue.h | 4 +- drivers/raw/ntb/ntb.h | 6 +-- drivers/regex/cn9k/cn9k_regexdev.h | 4 +- drivers/vdpa/mlx5/mlx5_vdpa.h | 4 +- examples/bbdev_app/main.c | 8 ++-- examples/bond/main.c | 2 +- examples/distributor/main.c | 32 +++++++------- examples/eventdev_pipeline/pipeline_common.h | 8 ++-- examples/ip_fragmentation/main.c | 4 +- examples/ip_pipeline/thread.c | 4 +- examples/ip_reassembly/main.c | 4 +- examples/ipsec-secgw/ipsec-secgw.c | 4 +- examples/ipsec-secgw/ipsec-secgw.h | 8 ++-- examples/ipsec-secgw/ipsec.h | 22 +++++----- examples/ipsec-secgw/ipsec_worker.h | 4 +- examples/ipv4_multicast/main.c | 4 +- examples/l2fwd-crypto/main.c | 12 ++--- examples/l2fwd-event/l2fwd_common.h | 8 ++-- examples/l2fwd-event/l2fwd_poll.h | 4 +- examples/l2fwd-jobstats/main.c | 8 ++-- examples/l2fwd-keepalive/main.c | 8 ++-- examples/l2fwd-macsec/main.c | 12 ++--- examples/l2fwd/main.c | 12 ++--- examples/l3fwd-graph/main.c | 8 ++-- examples/l3fwd-power/main.c | 24 +++++----- examples/l3fwd-power/main.h | 4 +- examples/l3fwd-power/perf_core.c | 4 +- examples/l3fwd/l3fwd.h | 8 ++-- examples/l3fwd/l3fwd_em.c | 4 +- examples/l3fwd/main.c | 4 +- examples/link_status_interrupt/main.c | 8 ++-- .../multi_process/client_server_mp/shared/common.h | 8 ++-- examples/multi_process/symmetric_mp/main.c | 4 +- examples/ntb/ntb_fwd.c | 4 +- examples/packet_ordering/main.c | 16 +++---- examples/pipeline/thread.c | 4 +- examples/qos_sched/app_thread.c | 2 +- examples/qos_sched/main.h | 4 +- examples/server_node_efd/shared/common.h | 12 ++--- examples/vhost/main.h | 4 +- examples/vhost_blk/vhost_blk.h | 4 +- examples/vhost_crypto/main.c | 4 +- examples/vm_power_manager/power_manager.c | 4 +- 202 files changed, 726 insertions(+), 732 deletions(-)
Comments
On Wed, Mar 20, 2024 at 08:36:53AM -0700, Tyler Retzlaff wrote: > The current location used for __rte_aligned(a) for alignment of types > and variables is not compatible with MSVC. There is only a single > location accepted by both toolchains. > > After having established this as the conventional standard for lib/* > this series is intended to convert the remainder of the source tree to > use the same location for __rte_aligned(a) and alignas(a) for > consistency. > No objection to this change. Is there a checkpatch rule available to enforce this going forward or how can we avoid future introduction of macros in the wrong place? Series-Acked-by: Bruce Richardson <bruce.richardson@intel.com>
On Wed, Mar 20, 2024 at 4:56 PM Bruce Richardson <bruce.richardson@intel.com> wrote: > > On Wed, Mar 20, 2024 at 08:36:53AM -0700, Tyler Retzlaff wrote: > > The current location used for __rte_aligned(a) for alignment of types > > and variables is not compatible with MSVC. There is only a single > > location accepted by both toolchains. > > > > After having established this as the conventional standard for lib/* > > this series is intended to convert the remainder of the source tree to > > use the same location for __rte_aligned(a) and alignas(a) for > > consistency. > > > No objection to this change. Is there a checkpatch rule available to > enforce this going forward or how can we avoid future introduction of > macros in the wrong place? We added one in v24.03, it is not perfect, but it should help catch most. https://git.dpdk.org/dpdk/commit/devtools?id=c6552d9a8deffa448de2d5e2e726f50508c1efd2
> From: Bruce Richardson [mailto:bruce.richardson@intel.com] > Sent: Wednesday, 20 March 2024 16.51 > > On Wed, Mar 20, 2024 at 08:36:53AM -0700, Tyler Retzlaff wrote: > > The current location used for __rte_aligned(a) for alignment of types > > and variables is not compatible with MSVC. There is only a single > > location accepted by both toolchains. > > > > After having established this as the conventional standard for lib/* > > this series is intended to convert the remainder of the source tree to > > use the same location for __rte_aligned(a) and alignas(a) for > > consistency. > > > No objection to this change. Is there a checkpatch rule available to > enforce this going forward or how can we avoid future introduction of > macros in the wrong place? > > Series-Acked-by: Bruce Richardson <bruce.richardson@intel.com> Series-Acked-by: Morten Brørup <mb@smartsharesystems.com>
Hello Tyler, On Wed, Mar 20, 2024 at 4:38 PM Tyler Retzlaff <roretzla@linux.microsoft.com> wrote: > > The current location used for __rte_aligned(a) for alignment of types > and variables is not compatible with MSVC. There is only a single > location accepted by both toolchains. > > After having established this as the conventional standard for lib/* > this series is intended to convert the remainder of the source tree to > use the same location for __rte_aligned(a) and alignas(a) for > consistency. The series looks good to me. We may have some misses because of drivers wrapping in their own stuff, but I am not sure those are fixable (this touches some base drivers..) drivers/common/cnxk/roc_platform.h:#define __plt_aligned __rte_aligned drivers/common/dpaax/compat.h:#define ____cacheline_aligned __rte_aligned(L1_CACHE_BYTES) drivers/common/cnxk/roc_platform.h:#define __plt_cache_aligned __rte_cache_aligned drivers/net/ena/base/ena_plat_dpdk.h:#define ____cacheline_aligned __rte_cache_aligned drivers/net/gve/base/gve_osdep.h:#define ____cacheline_aligned __rte_cache_aligned I also noticed memif: drivers/net/memif/memif.h:typedef struct __rte_packed __rte_aligned(128)
On Wed, Mar 20, 2024 at 06:41:30PM +0100, David Marchand wrote: > Hello Tyler, > > On Wed, Mar 20, 2024 at 4:38 PM Tyler Retzlaff > <roretzla@linux.microsoft.com> wrote: > > > > The current location used for __rte_aligned(a) for alignment of types > > and variables is not compatible with MSVC. There is only a single > > location accepted by both toolchains. > > > > After having established this as the conventional standard for lib/* > > this series is intended to convert the remainder of the source tree to > > use the same location for __rte_aligned(a) and alignas(a) for > > consistency. > > The series looks good to me. > > We may have some misses because of drivers wrapping in their own > stuff, but I am not sure those are fixable (this touches some base > drivers..) > drivers/common/cnxk/roc_platform.h:#define __plt_aligned __rte_aligned > drivers/common/dpaax/compat.h:#define ____cacheline_aligned > __rte_aligned(L1_CACHE_BYTES) > drivers/common/cnxk/roc_platform.h:#define __plt_cache_aligned > __rte_cache_aligned > drivers/net/ena/base/ena_plat_dpdk.h:#define ____cacheline_aligned > __rte_cache_aligned > drivers/net/gve/base/gve_osdep.h:#define ____cacheline_aligned > __rte_cache_aligned Yes, I know about these and I made the call to leave them untouched for now. The cnxk drivers aren't built on windows and i didn't want to interfere with some out of tree abstraction they may be using for testing. > > I also noticed memif: > drivers/net/memif/memif.h:typedef struct __rte_packed __rte_aligned(128) This should be okay, I also have to address __rte_packed (series coming soon). So long as there are no objections I would propose this series merged as soon as possible (after release) assuming CI doesn't identify anything of concern. if there is follow up to do with cnxk/dpaax i'm happy to do it as a separate series. ty
ping, call for reviewers. it's relatively straight forward since it follows the same series that was applied in lib but still more eyes are appreciated. thanks! On Wed, Mar 20, 2024 at 08:36:53AM -0700, Tyler Retzlaff wrote: > The current location used for __rte_aligned(a) for alignment of types > and variables is not compatible with MSVC. There is only a single > location accepted by both toolchains. > > After having established this as the conventional standard for lib/* > this series is intended to convert the remainder of the source tree to > use the same location for __rte_aligned(a) and alignas(a) for > consistency. > > Tyler Retzlaff (83): > examples: move alignment attribute on types > net/ark: move alignment attribute on types > net/avp: move alignment attribute on types > net/axgbe: move alignment attribute on types > net/bnxt: move alignment attribute on types > net/bonding: move alignment attribute on types > net/cxgbe: move alignment attribute on types > net/e1000: move alignment attribute on types > net/ena: move alignment attribute on types > net/enic: move alignment attribute on types > net/fm10k: move alignment attribute on types > net/hinic: move alignment attribute on types > net/hns3: move alignment attribute on types > net/i40e: move alignment attribute on types > net/iavf: move alignment attribute on types > net/ice: move alignment attribute on types > net/igc: move alignment attribute on types > net/ionic: move alignment attribute on types > net/ixgbe: move alignment attribute on types > net/memif: move alignment attribute on types > net/mlx5: move alignment attribute on types > net/mlx4: move alignment attribute on types > net/mvpp2: move alignment attribute on types > net/netvsc: move alignment attribute on types > net/nfp: move alignment attribute on types > net/ngbe: move alignment attribute on types > net/octeontx: move alignment attribute on types > net/pfe: move alignment attribute on types > net/qede: move alignment attribute on types > net/softnic: move alignment attribute on types > net/tap: move alignment attribute on types > net/thunderx: move alignment attribute on types > net/txgbe: move alignment attribute on types > net/virtio: move alignment attribute on types > vdpa/mlx5: move alignment attribute on types > regex/cn9k: move alignment attribute on types > raw/ntb: move alignment attribute on types > ml/cnxk: move alignment attribute on types > mempool/cnxk: move alignment attribute on types > event/sw: move alignment attribute on types > event/skeleton: move alignment attribute on types > event/opdl: move alignment attribute on types > event/octeontx: move alignment attribute on types > event/dsw: move alignment attribute on types > event/dlb2: move alignment attribute on types > event/cnxk: move alignment attribute on types > dma/skeleton: move alignment attribute on types > dma/ioat: move alignment attribute on types > dma/idxd: move alignment attribute on types > crypto/uadk: move alignment attribute on types > crypto/scheduler: move alignment attribute on types > crypto/qat: move alignment attribute on types > crypto/openssl: move alignment attribute on types > crypto/octeontx: move alignment attribute on types > crypto/null: move alignment attribute on types > crypto/mvsam: move alignment attribute on types > crypto/mlx5: move alignment attribute on types > crypto/ipsec_mb: move alignment attribute on types > crypto/cnxk: move alignment attribute on types > crypto/ccp: move alignment attribute on types > crypto/caam_jr: move alignment attribute on types > crypto/bcmfs: move alignment attribute on types > crypto/armv8: move alignment attribute on types > compress/zlib: move alignment attribute on types > compress/qat: move alignment attribute on types > compress/octeontx: move alignment attribute on types > compress/nitrox: move alignment attribute on types > compress/isal: move alignment attribute on types > common/qat: move alignment attribute on types > common/mlx5: move alignment attribute on types > common/idpf: move alignment attribute on types > common/cpt: move alignment attribute on types > bus/fslmc: move alignment attribute on types > baseband/turbo_sw: move alignment attribute on types > baseband/null: move alignment attribute on types > app/test: move alignment attribute on types > app/test-pipeline: move alignment attribute on types > app/test-mldev: move alignment attribute on types > app/test-flow-perf: move alignment attribute on types > app/test-eventdev: move alignment attribute on types > app/pdump: move alignment attribute on types > app/graph: move alignment attribute on types > bus/dpaa: move alignment attribute on types > > app/graph/ethdev_rx.h | 4 +- > app/graph/ethdev_rx_priv.h | 4 +- > app/pdump/main.c | 4 +- > app/test-eventdev/test_order_common.h | 4 +- > app/test-eventdev/test_perf_common.h | 24 +++++----- > app/test-eventdev/test_pipeline_common.h | 18 ++++---- > app/test-flow-perf/actions_gen.c | 51 ++++++++++++---------- > app/test-flow-perf/items_gen.c | 22 +++++----- > app/test-flow-perf/main.c | 8 ++-- > app/test-mldev/test_device_ops.h | 4 +- > app/test-mldev/test_inference_common.h | 4 +- > app/test-mldev/test_model_ops.h | 4 +- > app/test-pipeline/main.h | 4 +- > app/test/test_cryptodev_aead_test_vectors.h | 6 +-- > app/test/test_cryptodev_blockcipher.h | 2 +- > app/test/test_cryptodev_kasumi_test_vectors.h | 2 +- > app/test/test_cryptodev_mixed_test_vectors.h | 2 +- > .../test_cryptodev_security_docsis_test_vectors.h | 2 +- > app/test/test_cryptodev_snow3g_test_vectors.h | 2 +- > app/test/test_cryptodev_zuc_test_vectors.h | 2 +- > app/test/test_distributor.c | 12 ++--- > app/test/test_distributor_perf.c | 6 +-- > app/test/test_mempool_perf.c | 6 +-- > app/test/test_pmd_perf.c | 4 +- > app/test/test_ring_stress_impl.h | 10 ++--- > app/test/test_rwlock.c | 8 ++-- > app/test/test_seqlock.c | 8 ++-- > app/test/test_ticketlock.c | 4 +- > app/test/test_trace_perf.c | 8 ++-- > drivers/baseband/null/bbdev_null.c | 4 +- > drivers/baseband/turbo_sw/bbdev_turbo_software.c | 4 +- > drivers/bus/dpaa/base/qbman/qman.c | 3 +- > drivers/bus/dpaa/include/fsl_bman.h | 4 +- > drivers/bus/dpaa/include/fsl_qman.h | 20 ++++----- > drivers/bus/fslmc/portal/dpaa2_hw_pvt.h | 4 +- > drivers/common/cpt/cpt_common.h | 4 +- > drivers/common/idpf/idpf_common_device.h | 2 +- > drivers/common/mlx5/linux/mlx5_glue.c | 2 +- > drivers/common/mlx5/linux/mlx5_nl.c | 2 +- > drivers/common/mlx5/mlx5_common_mr.h | 4 +- > drivers/common/mlx5/mlx5_common_utils.h | 12 ++--- > drivers/common/mlx5/mlx5_prm.h | 4 +- > drivers/common/qat/qat_adf/icp_qat_hw.h | 8 ++-- > drivers/common/qat/qat_common.h | 4 +- > drivers/common/qat/qat_qp.h | 6 +-- > drivers/compress/isal/isal_compress_pmd_private.h | 8 ++-- > drivers/compress/nitrox/nitrox_comp_reqmgr.c | 2 +- > drivers/compress/octeontx/otx_zip.h | 16 +++---- > drivers/compress/qat/qat_comp.h | 4 +- > drivers/compress/zlib/zlib_pmd_private.h | 12 ++--- > drivers/crypto/armv8/armv8_pmd_private.h | 14 +++--- > drivers/crypto/bcmfs/bcmfs_qp.h | 4 +- > drivers/crypto/bcmfs/bcmfs_sym_session.h | 4 +- > drivers/crypto/caam_jr/caam_jr_desc.h | 8 ++-- > drivers/crypto/ccp/ccp_crypto.h | 4 +- > drivers/crypto/ccp/ccp_dev.h | 8 ++-- > drivers/crypto/ccp/ccp_pmd_private.h | 8 ++-- > drivers/crypto/cnxk/cn10k_cryptodev_sec.h | 4 +- > drivers/crypto/cnxk/cn10k_ipsec.h | 4 +- > drivers/crypto/cnxk/cn10k_tls.h | 4 +- > drivers/crypto/cnxk/cn9k_cryptodev_ops.c | 2 +- > drivers/crypto/cnxk/cn9k_ipsec.h | 8 ++-- > drivers/crypto/cnxk/cnxk_cryptodev_ops.h | 4 +- > drivers/crypto/cnxk/cnxk_se.h | 4 +- > drivers/crypto/ipsec_mb/pmd_aesni_mb.c | 4 +- > drivers/crypto/ipsec_mb/pmd_aesni_mb_priv.h | 24 +++++----- > drivers/crypto/ipsec_mb/pmd_chacha_poly_priv.h | 4 +- > drivers/crypto/ipsec_mb/pmd_kasumi_priv.h | 4 +- > drivers/crypto/ipsec_mb/pmd_snow3g_priv.h | 4 +- > drivers/crypto/ipsec_mb/pmd_zuc_priv.h | 4 +- > drivers/crypto/mlx5/mlx5_crypto.h | 4 +- > drivers/crypto/mvsam/mrvl_pmd_private.h | 12 ++--- > drivers/crypto/mvsam/rte_mrvl_pmd.c | 12 +++-- > drivers/crypto/null/null_crypto_pmd_private.h | 8 ++-- > drivers/crypto/octeontx/otx_cryptodev_hw_access.h | 4 +- > drivers/crypto/openssl/openssl_pmd_private.h | 12 ++--- > drivers/crypto/qat/qat_asym.h | 15 +++---- > drivers/crypto/qat/qat_sym.h | 8 ++-- > drivers/crypto/qat/qat_sym_session.h | 10 ++--- > .../crypto/scheduler/scheduler_pkt_size_distr.c | 4 +- > drivers/crypto/scheduler/scheduler_pmd_private.h | 8 ++-- > drivers/crypto/uadk/uadk_crypto_pmd_private.h | 12 ++--- > drivers/dma/idxd/idxd_hw_defs.h | 38 ++++++++-------- > drivers/dma/ioat/ioat_internal.h | 4 +- > drivers/dma/skeleton/skeleton_dmadev.h | 4 +- > drivers/event/cnxk/cn10k_eventdev.h | 8 ++-- > drivers/event/cnxk/cnxk_eventdev.h | 24 +++++----- > drivers/event/cnxk/cnxk_tim_evdev.h | 4 +- > drivers/event/cnxk/cnxk_tim_worker.c | 2 +- > drivers/event/dlb2/dlb2_priv.h | 16 +++---- > drivers/event/dsw/dsw_evdev.h | 20 ++++----- > drivers/event/octeontx/ssovf_evdev.h | 8 ++-- > drivers/event/octeontx/timvf_evdev.h | 8 ++-- > drivers/event/octeontx/timvf_worker.c | 2 +- > drivers/event/opdl/opdl_evdev.h | 6 +-- > drivers/event/opdl/opdl_ring.c | 19 ++++---- > drivers/event/skeleton/skeleton_eventdev.h | 8 ++-- > drivers/event/sw/event_ring.h | 2 +- > drivers/event/sw/iq_chunk.h | 4 +- > drivers/event/sw/sw_evdev.h | 18 ++++---- > drivers/mempool/cnxk/cn10k_mempool_ops.c | 4 +- > drivers/ml/cnxk/cnxk_ml_ops.h | 4 +- > drivers/net/ark/ark_ethdev_rx.c | 6 +-- > drivers/net/ark/ark_ethdev_tx.c | 6 +-- > drivers/net/avp/avp_ethdev.c | 8 ++-- > drivers/net/avp/rte_avp_common.h | 4 +- > drivers/net/axgbe/axgbe_rxtx.h | 8 ++-- > drivers/net/bnxt/bnxt_rxr.c | 2 +- > drivers/net/bonding/rte_eth_bond_8023ad.h | 28 ++++++------ > drivers/net/cxgbe/base/adapter.h | 14 +++--- > drivers/net/cxgbe/cxgbe_ofld.h | 2 +- > drivers/net/e1000/igb_rxtx.c | 4 +- > drivers/net/ena/ena_ethdev.h | 17 ++++---- > drivers/net/enic/enic_rxtx_common.h | 2 +- > drivers/net/fm10k/fm10k_rxtx.c | 5 +-- > drivers/net/hinic/hinic_pmd_rx.h | 8 ++-- > drivers/net/hns3/hns3_ethdev.h | 4 +- > drivers/net/hns3/hns3_fdir.c | 4 +- > drivers/net/hns3/hns3_rxtx.h | 4 +- > drivers/net/i40e/i40e_ethdev.h | 4 +- > drivers/net/i40e/i40e_rxtx.h | 2 +- > drivers/net/iavf/iavf.h | 2 +- > drivers/net/iavf/iavf_rxtx.c | 3 +- > drivers/net/ice/ice_ethdev.h | 2 +- > drivers/net/ice/ice_rxtx.c | 3 +- > drivers/net/igc/igc_txrx.c | 4 +- > drivers/net/ionic/ionic_lif.h | 2 +- > drivers/net/ionic/ionic_rxtx.c | 6 +-- > drivers/net/ixgbe/ixgbe_ipsec.h | 4 +- > drivers/net/ixgbe/ixgbe_rxtx.c | 10 ++--- > drivers/net/memif/memif.h | 2 +- > drivers/net/mlx4/mlx4_rxtx.c | 2 +- > drivers/net/mlx5/hws/mlx5dr_send.h | 4 +- > drivers/net/mlx5/mlx5.h | 6 +-- > drivers/net/mlx5/mlx5_flow.h | 4 +- > drivers/net/mlx5/mlx5_hws_cnt.h | 14 +++--- > drivers/net/mlx5/mlx5_rx.h | 4 +- > drivers/net/mlx5/mlx5_rxtx.c | 6 +-- > drivers/net/mlx5/mlx5_tx.h | 10 ++--- > drivers/net/mlx5/mlx5_utils.h | 2 +- > drivers/net/mvpp2/mrvl_ethdev.h | 4 +- > drivers/net/netvsc/hn_var.h | 4 +- > drivers/net/nfp/flower/nfp_flower_flow.c | 4 +- > drivers/net/nfp/nfp_ipsec.h | 4 +- > drivers/net/nfp/nfp_rxtx.h | 8 ++-- > drivers/net/ngbe/ngbe_ptypes.c | 2 +- > drivers/net/ngbe/ngbe_rxtx.c | 2 +- > drivers/net/octeontx/octeontx_ethdev.c | 4 +- > drivers/net/octeontx/octeontx_ethdev.h | 12 ++--- > drivers/net/octeontx/octeontx_rxtx.h | 2 +- > drivers/net/pfe/base/pfe.h | 4 +- > drivers/net/qede/qede_rxtx.c | 14 +++--- > drivers/net/softnic/rte_eth_softnic_internals.h | 4 +- > drivers/net/tap/tap_bpf.h | 4 +- > drivers/net/thunderx/nicvf_rxtx.c | 8 ++-- > drivers/net/thunderx/nicvf_struct.h | 16 +++---- > drivers/net/txgbe/txgbe_ipsec.h | 4 +- > drivers/net/txgbe/txgbe_ptypes.c | 10 ++--- > drivers/net/txgbe/txgbe_rxtx.c | 2 +- > drivers/net/virtio/virtqueue.h | 4 +- > drivers/raw/ntb/ntb.h | 6 +-- > drivers/regex/cn9k/cn9k_regexdev.h | 4 +- > drivers/vdpa/mlx5/mlx5_vdpa.h | 4 +- > examples/bbdev_app/main.c | 8 ++-- > examples/bond/main.c | 2 +- > examples/distributor/main.c | 32 +++++++------- > examples/eventdev_pipeline/pipeline_common.h | 8 ++-- > examples/ip_fragmentation/main.c | 4 +- > examples/ip_pipeline/thread.c | 4 +- > examples/ip_reassembly/main.c | 4 +- > examples/ipsec-secgw/ipsec-secgw.c | 4 +- > examples/ipsec-secgw/ipsec-secgw.h | 8 ++-- > examples/ipsec-secgw/ipsec.h | 22 +++++----- > examples/ipsec-secgw/ipsec_worker.h | 4 +- > examples/ipv4_multicast/main.c | 4 +- > examples/l2fwd-crypto/main.c | 12 ++--- > examples/l2fwd-event/l2fwd_common.h | 8 ++-- > examples/l2fwd-event/l2fwd_poll.h | 4 +- > examples/l2fwd-jobstats/main.c | 8 ++-- > examples/l2fwd-keepalive/main.c | 8 ++-- > examples/l2fwd-macsec/main.c | 12 ++--- > examples/l2fwd/main.c | 12 ++--- > examples/l3fwd-graph/main.c | 8 ++-- > examples/l3fwd-power/main.c | 24 +++++----- > examples/l3fwd-power/main.h | 4 +- > examples/l3fwd-power/perf_core.c | 4 +- > examples/l3fwd/l3fwd.h | 8 ++-- > examples/l3fwd/l3fwd_em.c | 4 +- > examples/l3fwd/main.c | 4 +- > examples/link_status_interrupt/main.c | 8 ++-- > .../multi_process/client_server_mp/shared/common.h | 8 ++-- > examples/multi_process/symmetric_mp/main.c | 4 +- > examples/ntb/ntb_fwd.c | 4 +- > examples/packet_ordering/main.c | 16 +++---- > examples/pipeline/thread.c | 4 +- > examples/qos_sched/app_thread.c | 2 +- > examples/qos_sched/main.h | 4 +- > examples/server_node_efd/shared/common.h | 12 ++--- > examples/vhost/main.h | 4 +- > examples/vhost_blk/vhost_blk.h | 4 +- > examples/vhost_crypto/main.c | 4 +- > examples/vm_power_manager/power_manager.c | 4 +- > 202 files changed, 726 insertions(+), 732 deletions(-) > > -- > 1.8.3.1