Re: should new kfifo implementation really be exporting that much?

From: Jon Masters
Date: Sun Mar 21 2010 - 05:58:28 EST


On Sun, Mar 14, 2010 at 12:49:08PM -0400, Robert P. J. Day wrote:
> On Sun, 14 Mar 2010, Tilman Schmidt wrote:
>
> > Am 14.03.2010 15:57 schrieb Robert P. J. Day:
> > > as a short followup, kfifo.h strongly implies that a lot of the
> > > above shouldn't be exported:
> > >
> > > ...
> > > /*
> > > * __kfifo_in_... internal functions for put date into the fifo
> > > * do not call it directly, use kfifo_in_rec() instead
> > > */
> > > ...
> > >
> > > anyway, you get the idea. it would seem that a lot of those EXPORTs
> > > should be removed, no?
> >
> > If you look at kfifo_in_rec(), it's a static inline void function
> > defined in kfifo.h and which calls __kfifo_in_generic() or
> > __kfifo_in_rec(). I don't think you'll be able to make that work
> > without exporting those functions.
>
> huh. i believe you're correct. i'll take a closer look but i still
> get this feeling that there's something ... messy about that API.
> case in point: kfifo_in_rec() is *not* being exported, but a routine
> that it invokes -- __kfifo_in_generic() -- *is* being exported.
> doesn't that just seem a bit backwards?

I believe it would be a good idea to have an export type explicitly
covering symbols that are exported solely for the use of inlines,
just for tidying up these situations. EXPORT_SYMBOL_INTERNAL?

Jon.
--
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/