From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bruce Richardson Subject: Re: [PATCH] ring: cleanup file-local macros at end-of-file Date: Wed, 4 Mar 2015 10:49:55 +0000 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 Cc: "dev-VfR2kkLFssw@public.gmane.org" To: "Ananyev, Konstantin" Return-path: Content-Disposition: inline In-Reply-To: <2601191342CEEE43887BDE71AB977258213F3C63-pww93C2UFcwu0RiL9chJVbfspsVTdybXVpNB7YpNyf8@public.gmane.org> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces-VfR2kkLFssw@public.gmane.org Sender: "dev" On Wed, Mar 04, 2015 at 10:26:24AM +0000, Ananyev, Konstantin wrote: > > > > -----Original Message----- > > From: dev [mailto:dev-bounces-VfR2kkLFssw@public.gmane.org] On Behalf Of Bruce Richardson > > Sent: Wednesday, March 04, 2015 10:23 AM > > To: Thomas Monjalon > > Cc: dev-VfR2kkLFssw@public.gmane.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