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

Cyril Hrubis
2024-12-16T13:00:41Z

Hi!
> > + TST_KCONFIG_INIT("CONFIG_KASAN"),
> > + TST_KCONFIG_INIT("CONFIG_SLUB_RCU_DEBUG"),
> > + TST_KCONFIG_INIT("CONFIG_TRACE_IRQFLAGS"),
> > + TST_KCONFIG_INIT("CONFIG_LATENCYTOP"),
> > + TST_KCONFIG_INIT("CONFIG_DEBUG_NET"),
> > + TST_KCONFIG_INIT("CONFIG_EXT4_DEBUG"),
> > + TST_KCONFIG_INIT("CONFIG_QUOTA_DEBUG"),
> > + TST_KCONFIG_INIT("CONFIG_FAULT_INJECTION"),
> > + TST_KCONFIG_INIT("CONFIG_DEBUG_OBJECTS")
> > +};
> > +
> > +int tst_has_slow_kconfig(void)
> > +{
> > + unsigned int i;
> > +
> > + tst_kconfig_read(slow_kconfigs, ARRAY_SIZE(slow_kconfigs));
> > +
> Maybe here TINFO message "checking for options which slow the execution?
> Or print it (once) only if option detected? Because it's not obvious why we are
> detecting it. Or after searching print what we did (4x prolonged runtime).
>
> > + for (i = 0; i < ARRAY_SIZE(slow_kconfigs); i++) {
> > + if (slow_kconfigs[i].choice == 'y') {
> > + tst_res(TINFO,
> > + "%s kernel option detected",
> > + slow_kconfigs[i].id);
> > + return 1;
> > + }
> > + }
> > +
> > + return 0;
> > +}
> > 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;
> Maybe note here what we do? (TINFO)

That really depends on how verbose we want to be, we already print the
overall test timeout which is timeout + runtime. So it's somehow visible
in the test runtime has been increased. Maybe we should make the info
message in set_timeout() better by printing the runtime separately there
if non-zero.

--
Cyril Hrubis
chrubis@suse.cz