Re: [PATCH] introduce sys_membarrier(): process-wide memorybarrier (v10)

From: Paul E. McKenney
Date: Mon Apr 05 2010 - 16:40:38 EST


On Mon, Apr 05, 2010 at 03:10:57PM -0400, Mathieu Desnoyers wrote:
> * Randy Dunlap (randy.dunlap@xxxxxxxxxx) wrote:
> > On Mon, 5 Apr 2010 13:57:37 -0400 Mathieu Desnoyers wrote:

[ . . . ]

> > > +#else /* #ifdef CONFIG_SMP */
> >
> > I don't know that we have a known convention for that, but I would use:
> >
> > #else /* not CONFIG_SMP */
> >
> > or
> >
> > #else /* !CONFIG_SMP */
> >
> > > +
> > > +SYSCALL_DEFINE1(membarrier, unsigned int, flags)
> > > +{
> > > + return 0;
> > > +}
> > > +
> > > +#endif /* #else #ifdef CONFIG_SMP */
> >
> > and:
> >
> > #endif /* CONFIG_SMP */
> >
> > The "#else #ifdef" is both ugly and too wordy IMO.

The extra words make it very clear that we are in at the end of the #else
clause of a #ifdef with the given condition. With "#endif /* CONFIG_SMP
*/", is the immediately preceding code compiled under CONFIG_SMP or
!CONFIG_SMP? You have to dig back and see whether or not there is a
#else clause.

But there is no accounting for taste. ;-)

Thanx, Paul

> OK. I merely followed the coding style of the code added to sched.c by Paul
> McKenney. But you are right, the rest of sched.c does as you say:
>
> #else /* !CONFIG_SMP */
>
> #endif /* CONFIG_SMP */
>
> Will fix.
>
> Thanks !
>
> Mathieu
>
> >
> > > +
> > > #ifndef CONFIG_SMP
> > >
> > > int rcu_expedited_torture_stats(char *page)
> >
> >
> > ---
> > ~Randy
> >
>
> --
> Mathieu Desnoyers
> Operating System Efficiency R&D Consultant
> EfficiOS Inc.
> http://www.efficios.com
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/