From patchwork Mon Apr 15 20:04:06 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Tyler Retzlaff X-Patchwork-Id: 139357 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 D085843E7E; Mon, 15 Apr 2024 22:11:56 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2D7BC410D3; Mon, 15 Apr 2024 22:06:15 +0200 (CEST) Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by mails.dpdk.org (Postfix) with ESMTP id 6C71340DDB for ; Mon, 15 Apr 2024 22:05:04 +0200 (CEST) Received: by linux.microsoft.com (Postfix, from userid 1086) id 1B34C20FD8CD; Mon, 15 Apr 2024 13:04:47 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 1B34C20FD8CD DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1713211491; bh=jQUkHf3jHeovedVe3hqjhHWbYx9uSgSjArgr7J3mH1A=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=iZvVO3sDO5dF/DKrwFF8Af9D49B8n91l05SrBTtfGJUvhScjoftVLhOSQBmeVoOSi 29B7YUAoT7Y4+TiABAhg/EHetbfl3EPwDsOioI81GMYxdgwLRboJs6PtCujyBS3hv/ mecqDY6l4H7HGQsrQD5umtRlhtJg8fX17EkN3YVI= 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 44/83] event/dsw: move alignment attribute on types Date: Mon, 15 Apr 2024 13:04:06 -0700 Message-Id: <1713211485-9021-45-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/event/dsw/dsw_evdev.h | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/drivers/event/dsw/dsw_evdev.h b/drivers/event/dsw/dsw_evdev.h index d745c89..3a5989f 100644 --- a/drivers/event/dsw/dsw_evdev.h +++ b/drivers/event/dsw/dsw_evdev.h @@ -131,7 +131,7 @@ enum dsw_migration_state { DSW_MIGRATION_STATE_UNPAUSING }; -struct dsw_port { +struct __rte_cache_aligned dsw_port { uint16_t id; /* Keeping a pointer here to avoid container_of() calls, which @@ -222,22 +222,22 @@ struct dsw_port { */ struct rte_event in_buffer[DSW_MAX_EVENTS]; - struct rte_event_ring *in_ring __rte_cache_aligned; + alignas(RTE_CACHE_LINE_SIZE) struct rte_event_ring *in_ring; - struct rte_ring *ctl_in_ring __rte_cache_aligned; + alignas(RTE_CACHE_LINE_SIZE) struct rte_ring *ctl_in_ring; /* Estimate of current port load. */ - int16_t load __rte_cache_aligned; + alignas(RTE_CACHE_LINE_SIZE) int16_t load; /* Estimate of flows currently migrating to this port. */ - int32_t immigration_load __rte_cache_aligned; -} __rte_cache_aligned; + alignas(RTE_CACHE_LINE_SIZE) int32_t immigration_load; +}; struct dsw_queue { uint8_t schedule_type; uint64_t serving_ports; uint16_t num_serving_ports; - uint8_t flow_to_port_map[DSW_MAX_FLOWS] __rte_cache_aligned; + alignas(RTE_CACHE_LINE_SIZE) uint8_t flow_to_port_map[DSW_MAX_FLOWS]; }; /* Limited by the size of the 'serving_ports' bitmask */ @@ -252,19 +252,19 @@ struct dsw_evdev { uint8_t num_queues; int32_t max_inflight; - int32_t credits_on_loan __rte_cache_aligned; + alignas(RTE_CACHE_LINE_SIZE) int32_t credits_on_loan; }; #define DSW_CTL_PAUS_REQ (0) #define DSW_CTL_UNPAUS_REQ (1) #define DSW_CTL_CFM (2) -struct dsw_ctl_msg { +struct __rte_aligned(4) dsw_ctl_msg { uint8_t type; uint8_t originating_port_id; uint8_t qfs_len; struct dsw_queue_flow qfs[DSW_MAX_FLOWS_PER_MIGRATION]; -} __rte_aligned(4); +}; uint16_t dsw_event_enqueue(void *port, const struct rte_event *event); uint16_t dsw_event_enqueue_burst(void *port,