* should new kfifo implementation really be exporting that much?
@ 2010-03-14 13:32 Robert P. J. Day
2010-03-14 14:57 ` Robert P. J. Day
0 siblings, 1 reply; 6+ messages in thread
From: Robert P. J. Day @ 2010-03-14 13:32 UTC (permalink / raw)
To: Linux Kernel Mailing List
just curious about how much is being exported from kfifo.c:
$ grep EXPORT_SYMBOL kernel/kfifo.c
EXPORT_SYMBOL(kfifo_init);
EXPORT_SYMBOL(kfifo_alloc);
EXPORT_SYMBOL(kfifo_free);
EXPORT_SYMBOL(kfifo_skip);
EXPORT_SYMBOL(__kfifo_in_n);
EXPORT_SYMBOL(kfifo_in);
EXPORT_SYMBOL(__kfifo_in_generic);
EXPORT_SYMBOL(__kfifo_out_n);
EXPORT_SYMBOL(kfifo_out);
EXPORT_SYMBOL(kfifo_out_peek);
EXPORT_SYMBOL(__kfifo_out_generic);
EXPORT_SYMBOL(__kfifo_from_user_n);
EXPORT_SYMBOL(kfifo_from_user);
EXPORT_SYMBOL(__kfifo_from_user_generic);
EXPORT_SYMBOL(__kfifo_to_user_n);
EXPORT_SYMBOL(kfifo_to_user);
EXPORT_SYMBOL(__kfifo_to_user_generic);
EXPORT_SYMBOL(__kfifo_peek_generic);
EXPORT_SYMBOL(__kfifo_skip_generic);
$
there's a lot there that looks like it should be static, no? or is
all of that *meant* to be part of the public kfifo API?
rday
--
========================================================================
Robert P. J. Day Waterloo, Ontario, CANADA
Linux Consulting, Training and Kernel Pedantry.
Web page: http://crashcourse.ca
Twitter: http://twitter.com/rpjday
========================================================================
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: should new kfifo implementation really be exporting that much? 2010-03-14 13:32 should new kfifo implementation really be exporting that much? Robert P. J. Day @ 2010-03-14 14:57 ` Robert P. J. Day 2010-03-14 16:37 ` Tilman Schmidt 0 siblings, 1 reply; 6+ messages in thread From: Robert P. J. Day @ 2010-03-14 14:57 UTC (permalink / raw) To: Linux Kernel Mailing List On Sun, 14 Mar 2010, Robert P. J. Day wrote: > > just curious about how much is being exported from kfifo.c: > > $ grep EXPORT_SYMBOL kernel/kfifo.c > EXPORT_SYMBOL(kfifo_init); > EXPORT_SYMBOL(kfifo_alloc); > EXPORT_SYMBOL(kfifo_free); > EXPORT_SYMBOL(kfifo_skip); > EXPORT_SYMBOL(__kfifo_in_n); > EXPORT_SYMBOL(kfifo_in); > EXPORT_SYMBOL(__kfifo_in_generic); > EXPORT_SYMBOL(__kfifo_out_n); > EXPORT_SYMBOL(kfifo_out); > EXPORT_SYMBOL(kfifo_out_peek); > EXPORT_SYMBOL(__kfifo_out_generic); > EXPORT_SYMBOL(__kfifo_from_user_n); > EXPORT_SYMBOL(kfifo_from_user); > EXPORT_SYMBOL(__kfifo_from_user_generic); > EXPORT_SYMBOL(__kfifo_to_user_n); > EXPORT_SYMBOL(kfifo_to_user); > EXPORT_SYMBOL(__kfifo_to_user_generic); > EXPORT_SYMBOL(__kfifo_peek_generic); > EXPORT_SYMBOL(__kfifo_skip_generic); > $ > > there's a lot there that looks like it should be static, no? or is > all of that *meant* to be part of the public kfifo API? 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 */ ... /* * __kfifo_out_... internal functions for get date from the fifo * do not call it directly, use kfifo_out_rec() instead */ ... /* * __kfifo_from_user_... internal functions for transfer from user space into * the fifo. do not call it directly, use kfifo_from_user_rec() instead */ ... /* * __kfifo_to_user_... internal functions for transfer fifo data into user space * do not call it directly, use kfifo_to_user_rec() instead */ ... /* * __kfifo_peek_... internal functions for peek into the next fifo record * do not call it directly, use kfifo_peek_rec() instead */ ... /* * __kfifo_skip_... internal functions for skip the next fifo record * do not call it directly, use kfifo_skip_rec() instead */ ... anyway, you get the idea. it would seem that a lot of those EXPORTs should be removed, no? rday -- ======================================================================== Robert P. J. Day Waterloo, Ontario, CANADA Linux Consulting, Training and Kernel Pedantry. Web page: http://crashcourse.ca Twitter: http://twitter.com/rpjday ======================================================================== ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: should new kfifo implementation really be exporting that much? 2010-03-14 14:57 ` Robert P. J. Day @ 2010-03-14 16:37 ` Tilman Schmidt 2010-03-14 16:49 ` Robert P. J. Day 0 siblings, 1 reply; 6+ messages in thread From: Tilman Schmidt @ 2010-03-14 16:37 UTC (permalink / raw) To: Robert P. J. Day; +Cc: Linux Kernel Mailing List 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. HTH T. ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: should new kfifo implementation really be exporting that much? 2010-03-14 16:37 ` Tilman Schmidt @ 2010-03-14 16:49 ` Robert P. J. Day 2010-03-21 9:32 ` Jon Masters 0 siblings, 1 reply; 6+ messages in thread From: Robert P. J. Day @ 2010-03-14 16:49 UTC (permalink / raw) To: Tilman Schmidt; +Cc: Linux Kernel Mailing List 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? anyway, off to the gym to bike and see which duke team shows up for georgia tech. rday -- ======================================================================== Robert P. J. Day Waterloo, Ontario, CANADA Linux Consulting, Training and Kernel Pedantry. Web page: http://crashcourse.ca Twitter: http://twitter.com/rpjday ======================================================================== ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: should new kfifo implementation really be exporting that much? 2010-03-14 16:49 ` Robert P. J. Day @ 2010-03-21 9:32 ` Jon Masters 2010-03-22 14:32 ` Robert P. J. Day 0 siblings, 1 reply; 6+ messages in thread From: Jon Masters @ 2010-03-21 9:32 UTC (permalink / raw) To: Robert P. J. Day; +Cc: Tilman Schmidt, Linux Kernel Mailing List 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. ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: should new kfifo implementation really be exporting that much? 2010-03-21 9:32 ` Jon Masters @ 2010-03-22 14:32 ` Robert P. J. Day 0 siblings, 0 replies; 6+ messages in thread From: Robert P. J. Day @ 2010-03-22 14:32 UTC (permalink / raw) To: Jon Masters; +Cc: Tilman Schmidt, Linux Kernel Mailing List 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 ======================================================================== ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2010-03-22 14:34 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2010-03-14 13:32 should new kfifo implementation really be exporting that much? Robert P. J. Day 2010-03-14 14:57 ` Robert P. J. Day 2010-03-14 16:37 ` Tilman Schmidt 2010-03-14 16:49 ` Robert P. J. Day 2010-03-21 9:32 ` Jon Masters 2010-03-22 14:32 ` Robert P. J. Day
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox