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 B51B343D05; Wed, 20 Mar 2024 16:42:06 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id AEAA842E1C; Wed, 20 Mar 2024 16:39:05 +0100 (CET) Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by mails.dpdk.org (Postfix) with ESMTP id B1C1042C24 for ; Wed, 20 Mar 2024 16:38:30 +0100 (CET) Received: by linux.microsoft.com (Postfix, from userid 1086) id EFA3F20B74E1; Wed, 20 Mar 2024 08:38:21 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com EFA3F20B74E1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1710949103; bh=UsNPUTPzWyTTgKmBtkPZlLYSd05fWtVXPZhJ23dJ0HQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=NRL2e0ivZpk7ZKCRPXpLRK6QvUi3Bc5Dx7oBpa0/d06m8ibzKRSJ6j8UcZZE5FPgP TEoiyzvkcd7+eRwPAvxG7pqFGikhGyBWoLN5u0b7LCOoxPp6NRzX4k8foHTs0elx/G sURfMNNfZpMnMVH82c1+Ult/VEA2x+Y2qneUNpaE= From: Tyler Retzlaff To: dev@dpdk.org Cc: =?UTF-8?q?Mattias=20R=C3=B6nnblom?= , "Min Hu (Connor)" , =?UTF-8?q?Morten=20Br=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 , Junfeng Guo , 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 32/83] net/thunderx: move alignment attribute on types Date: Wed, 20 Mar 2024 08:37:25 -0700 Message-Id: <1710949096-5786-33-git-send-email-roretzla@linux.microsoft.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1710949096-5786-1-git-send-email-roretzla@linux.microsoft.com> References: <1710949096-5786-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 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 --- 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; -- 1.8.3.1