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

From: Robert P. J. Day
Date: Mon Mar 22 2010 - 10:34:45 EST


On Sun, 21 Mar 2010, Jon Masters wrote:

> 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?

i wasn't suggesting anything as drastic as inventing a new export
level :-), i just wanted to verify that the current situation as to
what's currently exported related to kfifo just seemed a bit odd and
inconsistent. but a new export level might support the removal of a
considerable amount from the fully-exported namespace.

rday
--

========================================================================
Robert P. J. Day Waterloo, Ontario, CANADA

Linux Consulting, Training and Kernel Pedantry.

Web page: http://crashcourse.ca
Twitter: http://twitter.com/rpjday
========================================================================
--
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/