Re: [PATCH] cpumask: introduce new API, without changing anything

From: Ingo Molnar
Date: Fri Nov 07 2008 - 03:58:29 EST



* Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote:

> > +#if NR_CPUS == 1
> > +/* Uniprocesor. */

btw: s/Uniprocesor/Uniprocessor

> > +#define cpumask_first(src) ({ (void)(src); 0; })
> >
> > ...
> >
> > +#else
> > +static inline unsigned int cpumask_first(const struct cpumask *srcp)
> > +{
> > + return find_first_bit(cpumask_bits(srcp), nr_cpumask_bits);
> > +}
> >
> > ...
> >
> > +#endif /* SMP */
>
> So I can happily compile and run
>
> cpumask_first("hello, world");
>
> with CONFIG_SMP=n?

yeah, you are right that the use of a macro sucks there, it should be
an inline function.

We should stop using CPP, which is the outdated tech of the sixties.
We should go with the new wave of the seventies and use this shiny new
"C" language that's all the rage with features like type checking and
stuff.

Ingo
--
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/