[LTP] [PATCH V3] lib: multiply the max_runtime if detect slow kconfigs

Martin Doucha mdoucha@suse.cz
Thu Dec 19 13:57:10 CET 2024


Hi!

On 12. 12. 24 7:04, Li Wang wrote:
> The method adjusts the max_runtime for test cases by multiplying
> it by a factor (4x) if any slower kernel options are detected.
> Debug kernel configurations (such as CONFIG_KASAN, CONFIG_PROVE_LOCKING, etc.)
> are known to degrade performance, and this adjustment ensures
> that tests do not fail prematurely due to timeouts.
> 
> As Cyril pointed out that a debug kernel will typically run
> slower by a factor of N, and while determining the exact value
> of N is challenging, so a reasonable upper bound is sufficient
> for practical purposes.
> 
> Signed-off-by: Li Wang <liwang@redhat.com>
> ---
>   include/tst_kconfig.h | 13 +++++++++++++
>   lib/tst_kconfig.c     | 39 +++++++++++++++++++++++++++++++++++++++
>   lib/tst_test.c        |  3 +++
>   3 files changed, 55 insertions(+)
> 
> <snip>
 >
> diff --git a/lib/tst_test.c b/lib/tst_test.c
> index 8db554dea..f4e667240 100644
> --- a/lib/tst_test.c
> +++ b/lib/tst_test.c
> @@ -555,6 +555,9 @@ static int multiply_runtime(int max_runtime)
>   
>   	parse_mul(&runtime_mul, "LTP_RUNTIME_MUL", 0.0099, 100);
>   
> +	if (tst_has_slow_kconfig())
> +		max_runtime *= 4;
> +
>   	return max_runtime * runtime_mul;
>   }
>   

We have plenty of tests which keep looping until they run out of runtime 
and then automatically stop. These tests are not at risk of timing out 
and this patch only makes them run 3 times longer than necessary.

I'd recommend temporarily reverting this patch and adding it back with a 
new tst_test flag to identify tests which exit when runtime expires.

-- 
Martin Doucha   mdoucha@suse.cz
SW Quality Engineer
SUSE LINUX, s.r.o.
CORSO IIa
Krizikova 148/34
186 00 Prague 8
Czech Republic


More information about the ltp mailing list