From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by smtp.lore.kernel.org (Postfix) with ESMTP id 324A3C48BC4 for ; Sun, 18 Feb 2024 16:20:37 +0000 (UTC) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 58E7D40262; Sun, 18 Feb 2024 17:20:36 +0100 (CET) Received: from dkmailrelay1.smartsharesystems.com (smartserver.smartsharesystems.com [77.243.40.215]) by mails.dpdk.org (Postfix) with ESMTP id 9AEDA4021D for ; Sun, 18 Feb 2024 17:20:34 +0100 (CET) Received: from smartserver.smartsharesystems.com (smartserver.smartsharesys.local [192.168.4.10]) by dkmailrelay1.smartsharesystems.com (Postfix) with ESMTP id 55DFE2011D; Sun, 18 Feb 2024 17:20:34 +0100 (CET) Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Subject: RE: [PATCH v4 01/18] mbuf: deprecate GCC marker in rte mbuf struct X-MimeOLE: Produced By Microsoft Exchange V6.5 Date: Sun, 18 Feb 2024 17:20:32 +0100 Message-ID: <98CBD80474FA8B44BF855DF32C47DC35E9F22C@smartserver.smartshare.dk> In-Reply-To: <5265622.RUnXabflUD@thomas> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [PATCH v4 01/18] mbuf: deprecate GCC marker in rte mbuf struct Thread-Index: Adpifki8g6lnk58CSxiBxrrLMix3oAAByvIw References: <1706657173-26166-1-git-send-email-roretzla@linux.microsoft.com> <7561963.alqRGMn8q6@thomas> <98CBD80474FA8B44BF855DF32C47DC35E9F22B@smartserver.smartshare.dk> <5265622.RUnXabflUD@thomas> From: =?iso-8859-1?Q?Morten_Br=F8rup?= To: "Thomas Monjalon" , , "Tyler Retzlaff" Cc: "Ajit Khaparde" , "Andrew Boyer" , "Andrew Rybchenko" , "Bruce Richardson" , "Chenbo Xia" , "Chengwen Feng" , "Dariusz Sosnowski" , "David Christensen" , "Hyong Youb Kim" , "Jerin Jacob" , "Jie Hai" , "Jingjing Wu" , "John Daley" , "Kevin Laatz" , "Kiran Kumar K" , "Konstantin Ananyev" , "Maciej Czekaj" , "Matan Azrad" , "Maxime Coquelin" , "Nithin Dabilpuram" , "Ori Kam" , "Ruifeng Wang" , "Satha Rao" , "Somnath Kotur" , "Suanming Mou" , "Sunil Kumar Kori" , "Viacheslav Ovsiienko" , "Yisen Zhuang" , "Yuying Zhang" 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 > From: Thomas Monjalon [mailto:thomas@monjalon.net] > Sent: Sunday, 18 February 2024 16.22 >=20 > 18/02/2024 14:07, Morten Br=F8rup: > > From: Thomas Monjalon [mailto:thomas@monjalon.net] > > > 15/02/2024 07:21, Tyler Retzlaff: > > > > --- a/lib/eal/include/rte_common.h > > > > +++ b/lib/eal/include/rte_common.h > > > > @@ -582,6 +582,12 @@ static void > > > __attribute__((destructor(RTE_PRIO(prio)), used)) func(void) > > > > /** Marker for 8B alignment in a structure. */ > > > > __extension__ typedef uint64_t RTE_MARKER64[0]; > > > > > > > > +#define __rte_marker(type, name) type name /* __rte_deprecated > */ > > > > + > > > > +#else > > > > + > > > > +#define __rte_marker(type, name) > > > > + > > > > #endif > > > > > > > > /*********** Macros for calculating min and max **********/ > > > > diff --git a/lib/mbuf/rte_mbuf_core.h b/lib/mbuf/rte_mbuf_core.h > > > > index 5688683..9e9590b 100644 > > > > --- a/lib/mbuf/rte_mbuf_core.h > > > > +++ b/lib/mbuf/rte_mbuf_core.h > > > > @@ -16,7 +16,10 @@ > > > > * New fields and flags should fit in the "dynamic space". > > > > */ > > > > > > > > +#include > > > > +#include > > > > #include > > > > +#include > > > > > > > > #include > > > > #include > > > > @@ -464,204 +467,240 @@ enum { > > > > * The generic rte_mbuf, containing a packet mbuf. > > > > */ > > > > struct rte_mbuf { > > > > - RTE_MARKER cacheline0; > > > > - > > > > - void *buf_addr; /**< Virtual address of segment > buffer. > > > */ > > > > + __rte_marker(RTE_MARKER, cacheline0); > > > > > > You don't need to keep the first argument. > > > This would be simpler: > > > __rte_marker(cacheline0); > > > You just need to create 2 functions: __rte_marker and > __rte_marker64. > > > > > > You should replace all occurrences of RTE_MARKER in DPDK in one > patch, > > > and mark RTE_MARKER as deprecated (use #pragma GCC poison) > > > > I like this suggestion. > > However, some applications might use RTE_MARKER in their own > structures. > > Wouldn't it be considered API breakage to mark RTE_MARKER as > deprecated? >=20 > Yes it is an API breakage. > Do we prefer waiting 24.11 for poisoning this macro? Personally, I generally don't mind API breakages, assuming that they are = visible and thus don't silently introduce bugs. The distro people might have a different opinion.