On Fri, Oct 11, 2019 at 2:55 PM Andrew Morton akpm@linux-foundation.org wrote:
On Fri, 11 Oct 2019 14:37:25 -0700 David Gow davidgow@google.com wrote:
On Fri, Oct 11, 2019 at 2:05 PM Andrew Morton akpm@linux-foundation.org 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