[LTP] [RFC] sched/starvation: Add disclaimer for virtualized/emulated environments

Petr Vorel pvorel@suse.cz
Mon Jan 20 15:24:47 CET 2025


Hi Alessandro,

> This patch adds a disclaimer message to the starvation test case, warning
> users against running the test in virtualized or emulated environments.
> The test produces expected results only on bare-metal systems and is prone
> to failure when executed in non-bare-metal setups.

> While detecting virtualization or emulation is possible in some cases,
> the methods are unreliable.
> Rather than attempting to prevent the test from running in such
> environments, this patch provides a warning to inform users of the
> limitations.

> Change:
> - Added a TINFO message to notify users that the test should be run
>   on bare-metal systems for meaningful results.

> Signed-off-by: Alessandro Carminati <acarmina@redhat.com>
> ---
>  testcases/kernel/sched/cfs-scheduler/starvation.c | 3 +++
>  1 file changed, 3 insertions(+)

> diff --git a/testcases/kernel/sched/cfs-scheduler/starvation.c b/testcases/kernel/sched/cfs-scheduler/starvation.c
> index c620c9c3e..b779a5f0a 100644
> --- a/testcases/kernel/sched/cfs-scheduler/starvation.c
> +++ b/testcases/kernel/sched/cfs-scheduler/starvation.c
> @@ -115,6 +115,9 @@ static void setup(void)
>  	if (tst_has_slow_kconfig())
>  		tst_brk(TCONF, "Skip test due to slow kernel configuration");

> +	tst_res(TINFO, "This test is designed to run on bare-metal systems. "
> +		"Running it in a virtualized or emulated environment may produce unreliable results.");

We should at least wrap it with tst_is_virt(), make it shorter and add WARNING:

	if (tst_is_virt(VIRT_ANY))
		tst_res(TINFO, "WARNING: Running on a virtualized or emulated environment may produce unreliable results");

But OTOH I haven't seen any problem with it on various SLES versions nor in
openSUSE Tumbleweed (which uses latest mainline kernel). Therefore I would not
put TCONF, but just TINFO as you suggested (other tests which use tst_is_virt()
detection usually do TCONF).

Any idea what can cause instability on virtualized environments? Which kernel
options could be affected? ATM test is disabled due slow kernel config detection
on SLES/Tumbleweed (non-RT, tested on qemu) where it's working and this is not 
enough to detect unstable results on the kernels you test.

I also send a patch to remove CONFIG_LATENCYTOP as option causing slow kernel.

Kind regards,
Petr

> +
>  	tst_set_runtime(timeout);
>  }


More information about the ltp mailing list