Re: is there an efficient module_is_builtin() test ?

2021-03-09 Thread Valdis Klētnieks
On Tue, 09 Mar 2021 12:55:14 -0700, jim.cro...@gmail.com said:

> To use the index, I need  _sites[], and that only works
> for builtin-module's callsites.   For loaded modules, I can/have
> added a pointer to the section into module load_info, giving me
> the base I will need for the ! builtin branch.
>
> I just need a not expensive  is-it-builtin (modref)

One way to sidestep it is to stick in an EXPORT_SYMBOL(dyndbg_sites)
in the .c file you're defining it, and let the module loader do all the heavy
lifting for you. Not sure if some license purist would insist on 
EXPORT_SYMBOL_GPL
instead - the difference will only matter for out-of-tree non-GPL modules.

An slightly uglier solution is to do something like

#if defined(MODULE)
#define FIND_DEBUG /* code to find via load_info */
#else
#define FIND_DEBUG /* code to load _site directly */
#endif

which you should probably stick into a suitable .h file, and then
stick your newly defined FIND_DEBUG where you need the magic
happen (probably in a .h file as well)

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


is there an efficient module_is_builtin() test ?

2021-03-09 Thread jim . cromie
Im trying to reduce memory used by
internal tables built into DYNAMIC_DEBUG

the main savings available is in the per pr_debug*
callsite data: modname, filename, funcname.

I have segregated those fields to a new __dyndbg_sites section,
described by struct _ddebug_site, and now refd by new ptr in
struct _ddebug

That new ptr enlarges the memory footprint, so I want to replace it
with an integer index into the section / array.  Existing padding could
hold the index.

To use the index, I need  _sites[], and that only works
for builtin-module's callsites.   For loaded modules, I can/have
added a pointer to the section into module load_info, giving me
the base I will need for the ! builtin branch.

I just need a not expensive  is-it-builtin (modref)
___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies