On Thu, Nov 15, 2018 at 01:57:50PM +0100, Michal Hocko wrote: > On Thu 15-11-18 00:46:42, Matthew Wilcox wrote: > > 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. I don't think it's necessarily the worst thing in the world if random people browsing the file are forced to read test-cases ;-) There's certainly a spectrum of possibilities here, one end being to basically just re-export static functions, and the other end putting every vmalloc test into vmalloc.c. vmalloc.c is pretty big at 70kB, but on the other hand, it's the 18th largest file in mm/ (can you believe page_alloc.c is 230kB?!)