From patchwork Mon Apr 15 20:03:54 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Tyler Retzlaff X-Patchwork-Id: 139327 X-Patchwork-Delegate: david.marchand@redhat.com 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 3F10743E7E; Mon, 15 Apr 2024 22:08:46 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 539C6427DB; Mon, 15 Apr 2024 22:05:33 +0200 (CEST) Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by mails.dpdk.org (Postfix) with ESMTP id 4396240A6B for ; Mon, 15 Apr 2024 22:04:56 +0200 (CEST) Received: by linux.microsoft.com (Postfix, from userid 1086) id AE8F420FD4A9; Mon, 15 Apr 2024 13:04:46 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com AE8F420FD4A9 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1713211488; bh=sCkMgOcBANs3nJ4p5Pvx4OYPOfAEQhnwODqnQzAM8CQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=BF+SgEJwrHR5zPOwiaFY+C782mdbofvIb1q9yeZWrsPJte88YUSSrV0uaCkWYXUZw 5kzDwopMiv0RmsPdXokVxYMr17ZoHFgWqjmdHp8zM6EMZySXtHvnNhCbouL9aa8CVw tm59UqjytwvtY61bb6VkQjmf04mstwa+kILpH5ng= From: Tyler Retzlaff To: dev@dpdk.org Cc: =?utf-8?q?Mattias_R=C3=B6nnblom?= , "Min Hu (Connor)" , =?utf-8?q?Morten_Br=C3=B8rup?= , Abdullah Sevincer , Ajit Khaparde , Akhil Goyal , Alok Prasad , Amit Bernstein , Anatoly Burakov , Andrew Boyer , Andrew Rybchenko , Ankur Dwivedi , Anoob Joseph , Ashish Gupta , Ashwin Sekhar T K , Bruce Richardson , Byron Marohn , Chaoyong He , Chas Williams , Chenbo Xia , Chengwen Feng , Conor Walsh , Cristian Dumitrescu , Dariusz Sosnowski , David Hunt , Devendra Singh Rawat , Ed Czeck , Evgeny Schemeilin , Fan Zhang , Gagandeep Singh , Guoyang Zhou , Harman Kalra , Harry van Haaren , Hemant Agrawal , Honnappa Nagarahalli , Hyong Youb Kim , Jakub Grajciar , Jerin Jacob , Jian Wang , Jiawen Wu , Jie Hai , Jingjing Wu , John Daley , John Miller , Joyce Kong , Kai Ji , Kevin Laatz , Kiran Kumar K , Konstantin Ananyev , Lee Daly , Liang Ma , Liron Himi , Long Li , Maciej Czekaj , Matan Azrad , Matt Peters , Maxime Coquelin , Michael Shamis , Nagadheeraj Rottela , Nicolas Chautru , Nithin Dabilpuram , Ori Kam , Pablo de Lara , Pavan Nikhilesh , Peter Mccarthy , Radu Nicolau , Rahul Lakkireddy , Rakesh Kudurumalla , Raveendra Padasalagi , Reshma Pattan , Ron Beider , Ruifeng Wang , Sachin Saxena , Selwin Sebastian , Shai Brandes , Shepard Siegel , Shijith Thotton , Sivaprasad Tummala , Somnath Kotur , Srikanth Yalavarthi , Stephen Hemminger , Steven Webster , Suanming Mou , Sunil Kumar Kori , Sunil Uttarwar , Sunila Sahu , Tejasree Kondoj , Viacheslav Ovsiienko , Vikas Gupta , Volodymyr Fialko , Wajeeh Atrash , Wisam Jaddo , Xiaoyun Wang , Yipeng Wang , Yisen Zhuang , Yuying Zhang , Zhangfei Gao , Zhirun Yan , Ziyang Xuan , Tyler Retzlaff Subject: [PATCH v2 32/83] net/thunderx: move alignment attribute on types Date: Mon, 15 Apr 2024 13:03:54 -0700 Message-Id: <1713211485-9021-33-git-send-email-roretzla@linux.microsoft.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1713211485-9021-1-git-send-email-roretzla@linux.microsoft.com> References: <1710949096-5786-1-git-send-email-roretzla@linux.microsoft.com> <1713211485-9021-1-git-send-email-roretzla@linux.microsoft.com> MIME-Version: 1.0 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 Move location of __rte_aligned(a) to new conventional location. The new placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardless of the toolchain being used for both C and C++. Additionally, it avoids confusion by Doxygen when generating documentation. Signed-off-by: Tyler Retzlaff Acked-by: Morten Brørup --- drivers/net/thunderx/nicvf_rxtx.c | 8 ++++---- drivers/net/thunderx/nicvf_struct.h | 16 ++++++++-------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/drivers/net/thunderx/nicvf_rxtx.c b/drivers/net/thunderx/nicvf_rxtx.c index defa551..74f43b9 100644 --- a/drivers/net/thunderx/nicvf_rxtx.c +++ b/drivers/net/thunderx/nicvf_rxtx.c @@ -76,7 +76,7 @@ uint32_t curr_head; uint32_t head = sq->head; struct rte_mbuf **txbuffs = sq->txbuffs; - void *obj_p[NICVF_MAX_TX_FREE_THRESH] __rte_cache_aligned; + alignas(RTE_CACHE_LINE_SIZE) void *obj_p[NICVF_MAX_TX_FREE_THRESH]; curr_head = nicvf_addr_read(sq->sq_head) >> 4; while (head != curr_head) { @@ -239,7 +239,7 @@ return i; } -static const uint32_t ptype_table[16][16] __rte_cache_aligned = { +static const alignas(RTE_CACHE_LINE_SIZE) uint32_t ptype_table[16][16] = { [L3_NONE][L4_NONE] = RTE_PTYPE_UNKNOWN, [L3_NONE][L4_IPSEC_ESP] = RTE_PTYPE_UNKNOWN, [L3_NONE][L4_IPFRAG] = RTE_PTYPE_L4_FRAG, @@ -342,7 +342,7 @@ static inline uint64_t __rte_hot nicvf_set_olflags(const cqe_rx_word0_t cqe_rx_w0) { - static const uint64_t flag_table[3] __rte_cache_aligned = { + static const alignas(RTE_CACHE_LINE_SIZE) uint64_t flag_table[3] = { RTE_MBUF_F_RX_IP_CKSUM_GOOD | RTE_MBUF_F_RX_L4_CKSUM_GOOD, RTE_MBUF_F_RX_IP_CKSUM_BAD | RTE_MBUF_F_RX_L4_CKSUM_UNKNOWN, RTE_MBUF_F_RX_IP_CKSUM_GOOD | RTE_MBUF_F_RX_L4_CKSUM_BAD, @@ -363,7 +363,7 @@ struct rbdr_entry_t *desc = rbdr->desc; uint32_t qlen_mask = rbdr->qlen_mask; uintptr_t door = rbdr->rbdr_door; - void *obj_p[NICVF_MAX_RX_FREE_THRESH] __rte_cache_aligned; + alignas(RTE_CACHE_LINE_SIZE) void *obj_p[NICVF_MAX_RX_FREE_THRESH]; if (unlikely(rte_mempool_get_bulk(rxq->pool, obj_p, to_fill) < 0)) { rte_eth_devices[rxq->port_id].data->rx_mbuf_alloc_failed += diff --git a/drivers/net/thunderx/nicvf_struct.h b/drivers/net/thunderx/nicvf_struct.h index 13cf8fe..cfcd942 100644 --- a/drivers/net/thunderx/nicvf_struct.h +++ b/drivers/net/thunderx/nicvf_struct.h @@ -14,7 +14,7 @@ #include #include -struct nicvf_rbdr { +struct __rte_cache_aligned nicvf_rbdr { uintptr_t rbdr_status; uintptr_t rbdr_door; struct rbdr_entry_t *desc; @@ -24,9 +24,9 @@ struct nicvf_rbdr { uint32_t next_tail; uint32_t head; uint32_t qlen_mask; -} __rte_cache_aligned; +}; -struct nicvf_txq { +struct __rte_cache_aligned nicvf_txq { union sq_entry_t *desc; nicvf_iova_addr_t phys; struct rte_mbuf **txbuffs; @@ -42,7 +42,7 @@ struct nicvf_txq { uint64_t offloads; uint16_t queue_id; uint16_t tx_free_thresh; -} __rte_cache_aligned; +}; union mbuf_initializer { struct { @@ -54,7 +54,7 @@ struct nicvf_txq { uint64_t value; }; -struct nicvf_rxq { +struct __rte_cache_aligned nicvf_rxq { RTE_MARKER rxq_fastpath_data_start; uint8_t rbptr_offset; uint16_t rx_free_thresh; @@ -76,9 +76,9 @@ struct nicvf_rxq { uint16_t queue_id; struct nicvf *nic; nicvf_iova_addr_t phys; -} __rte_cache_aligned; +}; -struct nicvf { +struct __rte_cache_aligned nicvf { uint8_t vf_id; uint8_t node; uintptr_t reg_base; @@ -111,7 +111,7 @@ struct nicvf { uint8_t sqs_count; #define MAX_SQS_PER_VF 11 struct nicvf *snicvf[MAX_SQS_PER_VF]; -} __rte_cache_aligned; +}; struct change_link_mode { bool enable;