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 C3F5643B57; Tue, 20 Feb 2024 18:24:21 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A544A40685; Tue, 20 Feb 2024 18:24:21 +0100 (CET) Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by mails.dpdk.org (Postfix) with ESMTP id C47604067C for ; Tue, 20 Feb 2024 18:24:19 +0100 (CET) Received: by linux.microsoft.com (Postfix, from userid 1086) id E92B920B2000; Tue, 20 Feb 2024 09:24:18 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com E92B920B2000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1708449858; bh=NoQ6aP/dfyeWbllRcdzoFWMM5cJ5lZ1wW0LEuo5T58Y=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=QWyvvU0q3G3vM+r1VYFSYoCOqw3OV+rblnc3DRv5i1HbwQiWkC+t53vfJIwP5hN7M 5RBavaCQsW+L3aQlRrQN6oUPK5tWDqTYHKUuYYMhQO+vSq40vN+j4beaPryTsT84Ab lzGhLUWUOJWgbfw5zIYWNz+dBn8glhmODyJg0HMI= Date: Tue, 20 Feb 2024 09:24:18 -0800 From: Tyler Retzlaff To: Thomas Monjalon Cc: dev@dpdk.org, Morten =?iso-8859-1?Q?Br=F8rup?= , 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 Subject: Re: [PATCH v4 01/18] mbuf: deprecate GCC marker in rte mbuf struct Message-ID: <20240220172418.GB14108@linuxonhyperv3.guj3yctzbm1etfxqx2vob5hsef.xx.internal.cloudapp.net> References: <1706657173-26166-1-git-send-email-roretzla@linux.microsoft.com> <7561963.alqRGMn8q6@thomas> <98CBD80474FA8B44BF855DF32C47DC35E9F22B@smartserver.smartshare.dk> <5265622.RUnXabflUD@thomas> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <5265622.RUnXabflUD@thomas> User-Agent: Mutt/1.5.21 (2010-09-15) 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 On Sun, Feb 18, 2024 at 04:22:15PM +0100, Thomas Monjalon wrote: > 18/02/2024 14:07, Morten Brørup: > > 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? > > Yes it is an API breakage. > Do we prefer waiting 24.11 for poisoning this macro? i only intend to announce deprecation now, actual poisoning given mbuf is involved probably should be no earlier than 24.11 and possibly even longer. though in my experience adaptation never really happens until it is forced. >