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

Martin Doucha
2024-12-19T12:57:46Z

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