From patchwork Sun Dec 8 11:34:11 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerin Jacob Kollanukkaran X-Patchwork-Id: 63622 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id B9720A04F1; Sun, 8 Dec 2019 12:34:03 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 43E46374E; Sun, 8 Dec 2019 12:34:02 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by dpdk.org (Postfix) with ESMTP id 5F17B3576 for ; Sun, 8 Dec 2019 12:34:01 +0100 (CET) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id xB8BVdGH006545; Sun, 8 Dec 2019 03:34:00 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : mime-version : content-transfer-encoding : content-type; s=pfpt0818; bh=/EV1YCIuwvRPeQe/H0TR9OSM4w0rzyAG4EuxwAdgUgE=; b=qf/AXy+OKUIO1Syxa5oD9kbMLzfAG6B4+ud/Xbm58K1I9cJmv/t2ZI2eaCOafEoN5JiB 3qNCZgazow6ruaFe7jEjoHO7LRnbwrzQusBkZUbC6Hkjsh3B+8OK1KVqWG0trHcp0Xw7 eC72cjkmPn7QHbnyjWs3+8t4zJMZX7gFY8RSVJbXeY6TB9JKodWpcnoSFcrZNaeh+Mcg mRTpDQTJgcrTlup6xbWbGx0sviqMRmfdIPpHI4pNqCxMH8Dj20ZYomFDX3rcoEr7BO83 wnJ4632AlQCIH80746qwptcX3QHKFf0OvjXHhu5iZniDCYM4pki0dpVyYzhO6ZuwM+e6 8g== Received: from sc-exch02.marvell.com ([199.233.58.182]) by mx0b-0016f401.pphosted.com with ESMTP id 2wrcfptaus-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Sun, 08 Dec 2019 03:33:59 -0800 Received: from SC-EXCH01.marvell.com (10.93.176.81) by SC-EXCH02.marvell.com (10.93.176.82) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Sun, 8 Dec 2019 03:33:57 -0800 Received: from maili.marvell.com (10.93.176.43) by SC-EXCH01.marvell.com (10.93.176.81) with Microsoft SMTP Server id 15.0.1367.3 via Frontend Transport; Sun, 8 Dec 2019 03:33:57 -0800 Received: from jerin-lab.marvell.com (jerin-lab.marvell.com [10.28.34.14]) by maili.marvell.com (Postfix) with ESMTP id 9A1493F703F; Sun, 8 Dec 2019 03:33:56 -0800 (PST) From: To: CC: , , Jerin Jacob Date: Sun, 8 Dec 2019 17:04:11 +0530 Message-ID: <20191208113413.2179329-1-jerinj@marvell.com> X-Mailer: git-send-email 2.24.0 MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.95,18.0.572 definitions=2019-12-08_03:2019-12-05,2019-12-08 signatures=0 Subject: [dpdk-dev] [PATCH 1/3] eal: introduce structure marker typedefs X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" From: Jerin Jacob Introduce EAL typedef for structure 1B, 2B, 4B, 8B alignment marking and a generic marker for a point in a structure. Signed-off-by: Jerin Jacob --- lib/librte_eal/common/include/rte_common.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/lib/librte_eal/common/include/rte_common.h b/lib/librte_eal/common/include/rte_common.h index 459d082d1..9556299ba 100644 --- a/lib/librte_eal/common/include/rte_common.h +++ b/lib/librte_eal/common/include/rte_common.h @@ -335,6 +335,18 @@ typedef uint64_t phys_addr_t; typedef uint64_t rte_iova_t; #define RTE_BAD_IOVA ((rte_iova_t)-1) +/*********** Structure alignment markers ********/ + +/** Generic marker for a point in a structure. */ +__extension__ typedef void *RTE_MARKER[0]; +/** Marker for 1B alignment in a structure. */ +__extension__ typedef uint8_t RTE_MARKER8[0]; +/** Marker for 2B alignment in a structure. */ +__extension__ typedef uint16_t RTE_MARKER16[0]; +/** Marker for 4B alignment in a structure. */ +__extension__ typedef uint16_t RTE_MARKER32[0]; +/** Marker for 8B alignment in a structure. */ +__extension__ typedef uint64_t RTE_MARKER64[0]; /** * Combines 32b inputs most significant set bits into the least From patchwork Sun Dec 8 11:34:12 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerin Jacob Kollanukkaran X-Patchwork-Id: 63623 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 1546AA04F1; Sun, 8 Dec 2019 12:34:12 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 342461B9B7; Sun, 8 Dec 2019 12:34:09 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by dpdk.org (Postfix) with ESMTP id EB7E71B9B5 for ; Sun, 8 Dec 2019 12:34:06 +0100 (CET) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id xB8BWmbL015155; Sun, 8 Dec 2019 03:34:05 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding : content-type; s=pfpt0818; bh=w9MwJLlyG0sc65QsXQZ/6265SqTfxaFhITsWApNrlis=; b=kRJCKTRy3RpSfXu2cOX8xsPKrQq/rcqCSDahb4f+h0QU5dZDIVwrBmiwvptBcOkgUO1/ 6LVTI4FQAT74Rp026zG6IlQf5RmNovn/FrewtWdDDs6lobQRo0ufJIDlLv7GX9Alw76q 49ZrB0R8ZYz4LAvRvuzttacrerbxx+pSkWynwWYR67oXFOJZSW3s30DhkF3L7qYat8YR 7sBqxM1hZIHwRLqC31u0NojYNwYQ8VGNIR3KZMYp3IXc5Pd2i8IiGCCkWPJLEVUFPITD 4CrREaRXvoG2iz5yg5vqeBEo6BHYbiq6LWFrJs4Ju9ADi7Z+wN12jStBeozPc4o1ypUe xA== Received: from sc-exch04.marvell.com ([199.233.58.184]) by mx0b-0016f401.pphosted.com with ESMTP id 2wrcfptaux-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Sun, 08 Dec 2019 03:34:05 -0800 Received: from SC-EXCH03.marvell.com (10.93.176.83) by SC-EXCH04.marvell.com (10.93.176.84) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Sun, 8 Dec 2019 03:34:03 -0800 Received: from maili.marvell.com (10.93.176.43) by SC-EXCH03.marvell.com (10.93.176.83) with Microsoft SMTP Server id 15.0.1367.3 via Frontend Transport; Sun, 8 Dec 2019 03:34:03 -0800 Received: from jerin-lab.marvell.com (jerin-lab.marvell.com [10.28.34.14]) by maili.marvell.com (Postfix) with ESMTP id A47E23F7040; Sun, 8 Dec 2019 03:34:00 -0800 (PST) From: To: , Shepard Siegel , Ed Czeck , John Miller , "Jerin Jacob" , Nithin Dabilpuram , Kiran Kumar K , Maciej Czekaj CC: , Date: Sun, 8 Dec 2019 17:04:12 +0530 Message-ID: <20191208113413.2179329-2-jerinj@marvell.com> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191208113413.2179329-1-jerinj@marvell.com> References: <20191208113413.2179329-1-jerinj@marvell.com> MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.95,18.0.572 definitions=2019-12-08_03:2019-12-05,2019-12-08 signatures=0 Subject: [dpdk-dev] [PATCH 2/3] drivers: use structure marker typedef in eal X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" From: Jerin Jacob Use new marker typedef available in EAL. Signed-off-by: Jerin Jacob --- drivers/net/ark/ark_ethdev_rx.c | 2 +- drivers/net/ark/ark_ethdev_tx.c | 2 +- drivers/net/octeontx2/otx2_ethdev.h | 6 +++--- drivers/net/thunderx/nicvf_struct.h | 4 ++-- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/net/ark/ark_ethdev_rx.c b/drivers/net/ark/ark_ethdev_rx.c index 6156730bb..4d518d558 100644 --- a/drivers/net/ark/ark_ethdev_rx.c +++ b/drivers/net/ark/ark_ethdev_rx.c @@ -57,7 +57,7 @@ struct ark_rx_queue { /* separate cache line */ /* second cache line - fields only used in slow path */ - MARKER cacheline1 __rte_cache_min_aligned; + RTE_MARKER cacheline1 __rte_cache_min_aligned; volatile uint32_t prod_index; /* step 2 filled by FPGA */ } __rte_cache_aligned; diff --git a/drivers/net/ark/ark_ethdev_tx.c b/drivers/net/ark/ark_ethdev_tx.c index 08bcf431a..289668774 100644 --- a/drivers/net/ark/ark_ethdev_tx.c +++ b/drivers/net/ark/ark_ethdev_tx.c @@ -42,7 +42,7 @@ struct ark_tx_queue { uint32_t pad[1]; /* second cache line - fields only used in slow path */ - MARKER cacheline1 __rte_cache_min_aligned; + RTE_MARKER cacheline1 __rte_cache_min_aligned; uint32_t cons_index; /* hw is done, can be freed */ } __rte_cache_aligned; diff --git a/drivers/net/octeontx2/otx2_ethdev.h b/drivers/net/octeontx2/otx2_ethdev.h index 987e7607c..a6e8483a0 100644 --- a/drivers/net/octeontx2/otx2_ethdev.h +++ b/drivers/net/octeontx2/otx2_ethdev.h @@ -254,7 +254,7 @@ struct otx2_vlan_info { struct otx2_eth_dev { OTX2_DEV; /* Base class */ - MARKER otx2_eth_dev_data_start; + RTE_MARKER otx2_eth_dev_data_start; uint16_t sqb_size; uint16_t rx_chan_base; uint16_t tx_chan_base; @@ -335,7 +335,7 @@ struct otx2_eth_txq { rte_iova_t fc_iova; uint16_t sqes_per_sqb_log2; int16_t nb_sqb_bufs_adj; - MARKER slow_path_start; + RTE_MARKER slow_path_start; uint16_t nb_sqb_bufs; uint16_t sq; uint64_t offloads; @@ -357,7 +357,7 @@ struct otx2_eth_rxq { uint32_t available; uint16_t rq; struct otx2_timesync_info *tstamp; - MARKER slow_path_start; + RTE_MARKER slow_path_start; uint64_t aura; uint64_t offloads; uint32_t qlen; diff --git a/drivers/net/thunderx/nicvf_struct.h b/drivers/net/thunderx/nicvf_struct.h index 5d1379803..cf1c281a0 100644 --- a/drivers/net/thunderx/nicvf_struct.h +++ b/drivers/net/thunderx/nicvf_struct.h @@ -55,7 +55,7 @@ union mbuf_initializer { }; struct nicvf_rxq { - MARKER rxq_fastpath_data_start; + RTE_MARKER rxq_fastpath_data_start; uint8_t rbptr_offset; uint16_t rx_free_thresh; uint32_t head; @@ -69,7 +69,7 @@ struct nicvf_rxq { struct rte_mempool *pool; union cq_entry_t *desc; union mbuf_initializer mbuf_initializer; - MARKER rxq_fastpath_data_end; + RTE_MARKER rxq_fastpath_data_end; uint8_t rx_drop_en; uint16_t precharge_cnt; uint16_t port_id; From patchwork Sun Dec 8 11:34:13 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerin Jacob Kollanukkaran X-Patchwork-Id: 63624 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 45E58A04F1; Sun, 8 Dec 2019 12:34:21 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 2868B1B9B5; Sun, 8 Dec 2019 12:34:21 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by dpdk.org (Postfix) with ESMTP id 0A08D1BE80 for ; Sun, 8 Dec 2019 12:34:18 +0100 (CET) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id xB8BWmbO015155; Sun, 8 Dec 2019 03:34:18 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding : content-type; s=pfpt0818; bh=ayvQ3wb9P3qweYE2uaD/rMvUQIdQc0i95i3k3AkWMns=; b=BH3xCW6tJ6LVhbW58ufRFDPhJee1rtyGYB0u1Iu5mG15w91sOJq4IzdBPDHMeKyEsRg5 bxJ2P5Jb6vP8nFM3dBpMA4I8HTDLUps2uCSj8oRqfHTHuLVsnETTq/qScHn1usMFDhXH NfQZLST/ywPmlMF0c6I9gh/vVGbOYJf5RPIfqhjH430ycAgmSJNR7mrf/A183ZiIXB4I 3HfJ8TlwojsLP68ga+pO+KetcfBuWRTgLdzJxXv5uicYSC9lQelej5a1iu09C+7QMsS7 NIVSZ0R/luqQX3mwqT+sweJX/adx2MYv319u2NDJ8loz+nxgdzJ0Y2OmWOGxgaWH8OpW tw== Received: from sc-exch04.marvell.com ([199.233.58.184]) by mx0b-0016f401.pphosted.com with ESMTP id 2wrcfptaux-4 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Sun, 08 Dec 2019 03:34:18 -0800 Received: from SC-EXCH01.marvell.com (10.93.176.81) by SC-EXCH04.marvell.com (10.93.176.84) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Sun, 8 Dec 2019 03:34:06 -0800 Received: from maili.marvell.com (10.93.176.43) by SC-EXCH01.marvell.com (10.93.176.81) with Microsoft SMTP Server id 15.0.1367.3 via Frontend Transport; Sun, 8 Dec 2019 03:34:06 -0800 Received: from jerin-lab.marvell.com (jerin-lab.marvell.com [10.28.34.14]) by maili.marvell.com (Postfix) with ESMTP id 3A2BC3F703F; Sun, 8 Dec 2019 03:34:05 -0800 (PST) From: To: , Olivier Matz CC: , , Jerin Jacob Date: Sun, 8 Dec 2019 17:04:13 +0530 Message-ID: <20191208113413.2179329-3-jerinj@marvell.com> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191208113413.2179329-1-jerinj@marvell.com> References: <20191208113413.2179329-1-jerinj@marvell.com> MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.95,18.0.572 definitions=2019-12-08_03:2019-12-05,2019-12-08 signatures=0 Subject: [dpdk-dev] [PATCH 3/3] mbuf: use structure marker typedef in eal X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" From: Jerin Jacob Use new marker typedef available in EAL and remove private marker typedef. Signed-off-by: Jerin Jacob --- lib/librte_mbuf/rte_mbuf_core.h | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/lib/librte_mbuf/rte_mbuf_core.h b/lib/librte_mbuf/rte_mbuf_core.h index 9a8557d1c..b9a59c879 100644 --- a/lib/librte_mbuf/rte_mbuf_core.h +++ b/lib/librte_mbuf/rte_mbuf_core.h @@ -406,19 +406,6 @@ extern "C" { #define RTE_MBUF_DEFAULT_BUF_SIZE \ (RTE_MBUF_DEFAULT_DATAROOM + RTE_PKTMBUF_HEADROOM) -/* - * define a set of marker types that can be used to refer to set points in the - * mbuf. - */ -__extension__ -typedef void *MARKER[0]; /**< generic marker for a point in a structure */ -__extension__ -typedef uint8_t MARKER8[0]; /**< generic marker with 1B alignment */ - - /** marker that allows us to overwrite 8 bytes with a single assignment */ -__extension__ -typedef uint64_t MARKER64[0]; - struct rte_mbuf_sched { uint32_t queue_id; /**< Queue ID. */ uint8_t traffic_class; @@ -478,7 +465,7 @@ enum { * The generic rte_mbuf, containing a packet mbuf. */ struct rte_mbuf { - MARKER cacheline0; + RTE_MARKER cacheline0; void *buf_addr; /**< Virtual address of segment buffer. */ /** @@ -494,7 +481,7 @@ struct rte_mbuf { } __rte_aligned(sizeof(rte_iova_t)); /* next 8 bytes are initialised on RX descriptor rearm */ - MARKER64 rearm_data; + RTE_MARKER64 rearm_data; uint16_t data_off; /** @@ -522,7 +509,7 @@ struct rte_mbuf { uint64_t ol_flags; /**< Offload features. */ /* remaining bytes are set on RX when pulling packet from descriptor */ - MARKER rx_descriptor_fields1; + RTE_MARKER rx_descriptor_fields1; /* * The packet type, which is the combination of outer/inner L2, L3, L4 @@ -610,7 +597,7 @@ struct rte_mbuf { uint64_t timestamp; /* second cache line - fields only used in slow path or on TX */ - MARKER cacheline1 __rte_cache_min_aligned; + RTE_MARKER cacheline1 __rte_cache_min_aligned; RTE_STD_C11 union {