Re: [RFC PATCH 1/1] vmalloc: add test driver to analyse vmalloc allocator

From: Matthew Wilcox
Date: Thu Nov 15 2018 - 03:46:46 EST


On Thu, Nov 15, 2018 at 09:39:57AM +0100, Michal Hocko wrote:
> On Wed 14-11-18 15:00:53, Andrew Morton wrote:
> > #define EXPORT_SYMBOL_SELFTEST EXPORT_SYMBOL_GPL
> >
> > then write a script which checks the tree for usages of the
> > thus-tagged symbols outside tools/testing and lib/ (?)
>
> and then yell at people? We can try it out of course. The namespace
> would be quite clear and we could document the supported usage pattern.
> We also want to make EXPORT_SYMBOL_SELFTEST conditional. EXPORTs are not
> free and we do not want to add them if the whole testing infrastructure
> is disabled (assuming there is a global one for that).

How about adding

#ifdef CONFIG_VMALLOC_TEST
int run_internal_vmalloc_tests(void)
{
...
}
EXPORT_SYMBOL_GPL(run_internal_vmalloc_tests);
#endif

to vmalloc.c? That would also allow calling functions which are marked
as static, not just functions which aren't exported to modules.