Re: [PATCH 01/02] cpuset bitmap and mask remap operators

From: Andrew Morton
Date: Mon Oct 24 2005 - 03:52:31 EST


Paul Jackson <pj@xxxxxxx> wrote:
>
> Andrew wrote:
> > > +#define node_remap(oldbit, old, new) \
> > > + __node_remap((oldbit), &(old), &(new), MAX_NUMNODES)
> > > +static inline int __node_remap(int oldbit, ...
> >
> > What's the reason for the wrapper macro?
>
> Most all the nodemask/cpumask operators are like that. It allows
> writing *mask code as if masks were pass by value (which is how the
> vast majority of kernel hackers, working on systems with one-word
> masks, think of them), while actually passing by reference, to
> avoid unnecessary stack copies of multiword masks.
>

hm. That hides what's really going on from the programmer.

Oh well - you're the only guy who dinks with that stuff anyway ;)

> > +EXPORT_SYMBOL(bitmap_bitremap);
> >
> > Is that deliberately not EXPORT_SYMBOL_GPL?
>
> It's not deliberate that I am aware of.
>
> But it does seem to be the common practice ....
>
> All the bitmap routines are that way - no GPL. In fact it seems that
> almost all the EXPORT_SYMBOLS in the lib/*.c routines are that way - 12
> with GPL and 174 without GPL, or some such. The only lib/*.c GPL
> exports are in lib/klist.c and lib/kobject_uevent.c.
>
> Is this bad?
>

Ah, the bitmap library - sorry I thought it was in the cpuset code.

Making the bitmap library non-GPL makes sense I guess.
-
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/