On Sat, Oct 12, 2019 at 12:43 AM Matthias Maennich <maennich@xxxxxxxxxx> wrote: > > On Fri, Oct 11, 2019 at 05:31:27PM +0200, Greg Kroah-Hartman wrote: > >On Thu, Oct 10, 2019 at 04:14:43PM +0100, Matthias Maennich wrote: > >> Now that the namespace value is not part of the __ksymtab entry name > >> anymore, we can simplify the implementation of EXPORT_SYMBOL*. By > >> allowing the empty string "" to represent 'no namespace', we can unify > >> the implementation and drop a lot redundant code. That increases > >> readability and maintainability. > >> > >> As Masahiro pointed out earlier, > >> "The drawback of this change is, it grows the code size. When the symbol > >> has no namespace, sym->namespace was previously NULL, but it is now am > >> empty string "". So, it increases 1 byte for every no namespace > >> EXPORT_SYMBOL. A typical kernel configuration has 10K exported symbols, > >> so it increases 10KB in rough estimation." > > > >10Kb of non-swapable memory isn't good. But if you care about that, you > >can get it back with the option to compile away any non-used symbols, > >and that shouldn't be affected by this change, right? > > Rasmus suggested to put the 'aMS' flags on the __ksymtab_strings section > to mitigate this: > https://lore.kernel.org/lkml/f2e28d6b-77c5-5fe2-0bc4-b24955de9954@xxxxxxxxxxxxxxxxxx/ > > I was not yet able to properly test this, so I did not include it in > this series. As I said in the cover letter, this 4th patch might be > optional for 5.4. So, we could defer it to a later time when we have > addressed that properly. This looks the same as my patch, though. Reviewed-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> -- Best Regards Masahiro Yamada