Prev: RDC321x southbridge and GPIO support
Next: perf hist: Don't fprintf the callgraph unconditionally
From: Robert P. J. Day on 14 Mar 2010 09:40 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 ======================================================================== -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Robert P. J. Day on 14 Mar 2010 11:00 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 ======================================================================== -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Robert P. J. Day on 14 Mar 2010 13:00 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 ======================================================================== -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Tilman Schmidt on 14 Mar 2010 13:10 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. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Jon Masters on 21 Mar 2010 06:00 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(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|
Next
|
Last
Pages: 1 2 Prev: RDC321x southbridge and GPIO support Next: perf hist: Don't fprintf the callgraph unconditionally |