On Thu 15-11-18 00:46:42, Matthew Wilcox wrote: > 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. Yes that would be easier but do we want to pollute the normal code with testing? This looks messy to me. -- Michal Hocko SUSE Labs