On Fri, Oct 11, 2019 at 2:55 PM Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote: > > On Fri, 11 Oct 2019 14:37:25 -0700 David Gow <davidgow@xxxxxxxxxx> wrote: > > > On Fri, Oct 11, 2019 at 2:05 PM Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote: > > > > > > <looks at kunit> > > > > > > Given that everything runs at late_initcall time, shouldn't everything > > > be __init, __initdata etc so all the code and data doesn't hang around > > > for ever? > > > > > > > That's an interesting point. We haven't done this for KUnit tests to > > date, and there is certainly a possibility down the line that we may > > want to be able to run these tests in other circumstances. (There's > > some work being done to allow KUnit and KUnit tests to be built as > > modules here: https://lkml.org/lkml/2019/10/8/628 for example.) Maybe > > it'd be worth having macros which wrap __init/__initdata etc as a way > > of futureproofing tests against such a change? > > > > Either way, I suspect this is something that should probably be > > considered for KUnit as a whole, rather than on a test-by-test basis. > > Sure, a new set of macros for this makes sense. Can be retrofitted any > time. > > There might be a way of loading all of list_test.o into a discardable > section at link time instead of sprinkling annotation all over the .c > code. I created a bug to track this here: https://bugzilla.kernel.org/show_bug.cgi?id=205217