From: Uladzislau Rezki (Sony) Date: Thu, 17 Apr 2025 16:12:14 +0000 (+0200) Subject: lib/test_vmalloc.c: allow built-in execution X-Git-Tag: v6.16-rc1~92^2~153 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2d76e79315e403aab595d4c8830b7a46c19f0f3b;p=thirdparty%2Flinux.git lib/test_vmalloc.c: allow built-in execution Remove the dependency on module loading ("m") for the vmalloc test suite, enabling it to be built directly into the kernel, so both ("=m") and ("=y") are supported. Motivation: - Faster debugging/testing of vmalloc code; - It allows to configure the test via kernel-boot parameters. Configuration example: test_vmalloc.nr_threads=64 test_vmalloc.run_test_mask=7 test_vmalloc.sequential_test_order=1 Link: https://lkml.kernel.org/r/20250417161216.88318-2-urezki@gmail.com Signed-off-by: Uladzislau Rezki (Sony) Reviewed-by: Baoquan He Reviewed-by: Adrian Huang Tested-by: Adrian Huang Cc: Christop Hellwig Cc: Mateusz Guzik Signed-off-by: Andrew Morton --- diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug index f9051ab610d54..166b9d830a85a 100644 --- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug @@ -2574,8 +2574,7 @@ config TEST_BITOPS config TEST_VMALLOC tristate "Test module for stress/performance analysis of vmalloc allocator" default n - depends on MMU - depends on m + depends on MMU help This builds the "test_vmalloc" module that should be used for stress and performance analysis. So, any new change for vmalloc diff --git a/lib/test_vmalloc.c b/lib/test_vmalloc.c index 399751022eead..1b0b59549aaf1 100644 --- a/lib/test_vmalloc.c +++ b/lib/test_vmalloc.c @@ -591,10 +591,11 @@ static void do_concurrent_test(void) kvfree(tdriver); } -static int vmalloc_test_init(void) +static int __init vmalloc_test_init(void) { do_concurrent_test(); - return -EAGAIN; /* Fail will directly unload the module */ + /* Fail will directly unload the module */ + return IS_BUILTIN(CONFIG_TEST_VMALLOC) ? 0:-EAGAIN; } module_init(vmalloc_test_init)