[LTP] [PATCH V2] syscalls/sched_rr_get_interval: Validate the timeslice

Yang Xu
2020-07-06T04:41:22Z

Hi Viresh

Acked-by.

> Validate the timespec returned by sched_rr_get_interval() against the
> value read from /proc/sys/kernel/sched_rr_timeslice_ms.
>
> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
> ---
> V2:
> - Add .tags entry
> - check if file is present or not.
>
> .../sched_rr_get_interval01.c | 15 +++++++++++++++
> 1 file changed, 15 insertions(+)
>
> diff --git a/testcases/kernel/syscalls/sched_rr_get_interval/sched_rr_get_interval01.c b/testcases/kernel/syscalls/sched_rr_get_interval/sched_rr_get_interval01.c
> index 31d7b5d56a52..0466be36bec0 100644
> --- a/testcases/kernel/syscalls/sched_rr_get_interval/sched_rr_get_interval01.c
> +++ b/testcases/kernel/syscalls/sched_rr_get_interval/sched_rr_get_interval01.c
> @@ -5,11 +5,18 @@
> *
> * Gets round-robin time quantum by calling sched_rr_get_interval() and
> * checks that the value is sane.
> + *
> + * It is also a regression test for kernel
> + * commit 975e155ed873 ("sched/rt: Show the 'sched_rr_timeslice' SCHED_RR
> + * timeslice tuning knob in milliseconds").
> */
>
> #include <sched.h>
> #include "tst_timer.h"
>
> +#define PROC_SCHED_RR_TIMESLICE_MS "/proc/sys/kernel/sched_rr_timeslice_ms"
> +static int proc_flag;
> +
> struct tst_ts tp;
>
> static struct test_variants {
> @@ -39,6 +46,8 @@ static void setup(void)
>
> if ((sched_setscheduler(0, SCHED_RR, &p)) == -1)
> tst_res(TFAIL | TTERRNO, "sched_setscheduler() failed");
> +
> + proc_flag = !access(PROC_SCHED_RR_TIMESLICE_MS, F_OK);
> }
>
> static void run(void)
> @@ -62,6 +71,8 @@ static void run(void)
> tst_ts_get_sec(tp), tst_ts_get_nsec(tp));
> }
>
> + if (proc_flag)
> + TST_ASSERT_INT("/proc/sys/kernel/sched_rr_timeslice_ms", tst_ts_to_ms(tp));
> }
>
> static struct tst_test test = {
> @@ -69,4 +80,8 @@ static struct tst_test test = {
> .test_variants = ARRAY_SIZE(variants),
> .setup = setup,
> .needs_root = 1,
> + .tags = (const struct tst_tag[]) {
> + {"linux-git", "975e155ed873"},
> + {}
> + }
> };
>