Re: [PATCH v3 3/3] mm: slub: test: Use the kunit_get_current_test() function

From: David Gow
Date: Fri Nov 25 2022 - 03:33:31 EST


On Thu, Nov 24, 2022 at 6:43 PM Hyeonggon Yoo <42.hyeyoo@xxxxxxxxx> wrote:
>
> On Sat, Nov 19, 2022 at 04:12:52PM +0800, David Gow wrote:
> > Use the newly-added function kunit_get_current_test() instead of
> > accessing current->kunit_test directly. This function uses a static key
> > to return more quickly when KUnit is enabled, but no tests are actively
> > running. There should therefore be a negligible performance impact to
> > enabling the slub KUnit tests.
> >
> > Other than the performance improvement, this should be a no-op.
> >
> > Cc: Oliver Glitta <glittao@xxxxxxxxx>
> > Cc: Hyeonggon Yoo <42.hyeyoo@xxxxxxxxx>
> > Cc: Christoph Lameter <cl@xxxxxxxxx>
> > Cc: Vlastimil Babka <vbabka@xxxxxxx>
> > Cc: David Rientjes <rientjes@xxxxxxxxxx>
> > Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> > Signed-off-by: David Gow <davidgow@xxxxxxxxxx>
> > Acked-by: Vlastimil Babka <vbabka@xxxxxxx>
>
> Acked-by: Hyeonggon Yoo <42.hyeyoo@xxxxxxxxx>
> with small comment:
>

Thanks very much!

> > ---
> >
> > This is intended as an example use of the new function. Other users
> > (such as KASAN) will be updated separately, as there would otherwise be
> > conflicts.
> >
> > We'll take this whole series via the kselftest/kunit tree.
> >
> > Changes since v2:
> > https://lore.kernel.org/all/20221025071907.1251820-3-davidgow@xxxxxxxxxx/
> > - Get rid of a redundant 'likely' (Thanks Vlastimil Babka)
> > - Use current->kunit_test directly when we already know a test is
> > running. (Thanks Vlastimil Babka)
> > - Add Vlastimil's Acked-by.
> >
> > There was no v1 of this patch. v1 of the series can be found here:
> > https://lore.kernel.org/linux-kselftest/20221021072854.333010-1-davidgow@xxxxxxxxxx/T/#u
> >
> > Cheers,
> > -- David
> >
> > ---
> > lib/slub_kunit.c | 1 +
> > mm/slub.c | 3 ++-
> > 2 files changed, 3 insertions(+), 1 deletion(-)
> >
> > diff --git a/lib/slub_kunit.c b/lib/slub_kunit.c
> > index 7a0564d7cb7a..8fd19c8301ad 100644
> > --- a/lib/slub_kunit.c
> > +++ b/lib/slub_kunit.c
> > @@ -1,5 +1,6 @@
> > // SPDX-License-Identifier: GPL-2.0
> > #include <kunit/test.h>
> > +#include <kunit/test-bug.h>
>
> Is this #include needed in slub_kunit.c?
>

Yes: kunit_get_current_test() is defined in test-bug.h.

This header contains functions which are always available, even when
KUnit is not enabled.

(It's name isn't great: we may rename/refactor it down the line...)

Cheers,
-- David

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature