From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id 91CBC5683 for ; Wed, 4 Mar 2015 11:50:02 +0100 (CET) Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga101.jf.intel.com with ESMTP; 04 Mar 2015 02:50:01 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.09,687,1418112000"; d="scan'208";a="674950631" Received: from bricha3-mobl3.ger.corp.intel.com ([10.243.20.24]) by fmsmga001.fm.intel.com with SMTP; 04 Mar 2015 02:49:56 -0800 Received: by (sSMTP sendmail emulation); Wed, 04 Mar 2015 10:49:56 +0025 Date: Wed, 4 Mar 2015 10:49:55 +0000 From: Bruce Richardson To: "Ananyev, Konstantin" Message-ID: <20150304104955.GG1468@bricha3-MOBL3> References: <1425400717-24322-1-git-send-email-bruce.richardson@intel.com> <6979759.vFaJhNqs1F@xps13> <20150304102234.GD1468@bricha3-MOBL3> <2601191342CEEE43887BDE71AB977258213F3C63@irsmsx105.ger.corp.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <2601191342CEEE43887BDE71AB977258213F3C63@irsmsx105.ger.corp.intel.com> Organization: Intel Shannon Ltd. User-Agent: Mutt/1.5.23 (2014-03-12) Cc: "dev@dpdk.org" Subject: Re: [dpdk-dev] [PATCH] ring: cleanup file-local macros at end-of-file X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Mar 2015 10:50:03 -0000 On Wed, Mar 04, 2015 at 10:26:24AM +0000, Ananyev, Konstantin wrote: > > > > -----Original Message----- > > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Bruce Richardson > > Sent: Wednesday, March 04, 2015 10:23 AM > > To: Thomas Monjalon > > Cc: dev@dpdk.org > > Subject: Re: [dpdk-dev] [PATCH] ring: cleanup file-local macros at end-of-file > > > > On Tue, Mar 03, 2015 at 10:03:45PM +0100, Thomas Monjalon wrote: > > > 2015-03-03 16:38, Bruce Richardson: > > > > The ENQUEUE_PTRS and DEQUEUE_PTRS macros defined in rte_ring.h are > > > > not meant to be global and are not prefixed with the RTE_ prefix. > > > > Therefore undef the macros at end of file to avoid pollution of the > > > > global namespace, in case ends apps end up wanting to reuse those names. > > > > > > > > Signed-off-by: Bruce Richardson > > > > --- > > > > lib/librte_ring/rte_ring.h | 4 ++++ > > > > 1 file changed, 4 insertions(+) > > > > > > > > diff --git a/lib/librte_ring/rte_ring.h b/lib/librte_ring/rte_ring.h > > > > index bdf69b7..0d35648 100644 > > > > --- a/lib/librte_ring/rte_ring.h > > > > +++ b/lib/librte_ring/rte_ring.h > > > > @@ -1232,6 +1232,10 @@ rte_ring_dequeue_burst(struct rte_ring *r, void **obj_table, unsigned n) > > > > return rte_ring_mc_dequeue_burst(r, obj_table, n); > > > > } > > > > > > > > +/* undef un-prefixed macros which are local to this file */ > > > > +#undef ENQUEUE_PTRS > > > > +#undef DEQUEUE_PTRS > > > > + > > > > > > Thanks for trying to clean-up things. > > > Note that if an application is using this macro name, it will be destroyed > > > when including rte_ring.h. > > > Globally, DPDK namespace is awful and I hope we will be able to improve it. > > > > > Only if they are defining such a macro before including rte_ring.h, which I would > > expect to be an edge case. Also, in such a case, the compiler/preprocessor will > > give an error at the duplicate macro definition stage, and the simple fix is to > > reorder the header file inclusion to avoid problems i.e. no changing of dpdk > > required. > > I suppose a better fix to go along with this is to RTE-prefix the macros. I'll > > see about doing a V2. > > Why not just to rename it to __RTE_RING_ENQUEUE_PTRS__ or something, > and put in the comments that it is for internal usage? > Konstantin Yes, I'm planning on renaming it. But since it's for internal use only, I might as well undef it at the end of the file too. I think it's good practice. /Bruce