Messages in this thread | | | Date | Mon, 24 Oct 2005 01:16:13 -0700 | From | Paul Jackson <> | Subject | Re: [PATCH 01/02] cpuset bitmap and mask remap operators |
| |
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.
> +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?
-- I won't rest till it's the best ... Programmer, Linux Scalability Paul Jackson <pj@sgi.com> 1.925.600.0401 - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |