diff mbox series

[v2] clock_gettime04: multiply the timediff if test in VM

Message ID 20200915084406.8633-1-liwang@redhat.com
State Accepted
Headers show
Series [v2] clock_gettime04: multiply the timediff if test in VM | expand

Commit Message

Li Wang Sept. 15, 2020, 8:44 a.m. UTC
To balance that the test inside a VM can NOT get enough CPU time, which
result in sporadically fails with the time comparing.

clock_gettime04.c:155: PASS: CLOCK_REALTIME: Difference between successive readings is reasonable
clock_gettime04.c:155: PASS: CLOCK_REALTIME_COARSE: Difference between successive readings is reasonable
clock_gettime04.c:148: FAIL: CLOCK_MONOTONIC: Difference between successive readings greater than 5 ms (2): 22
clock_gettime04.c:155: PASS: CLOCK_MONOTONIC_COARSE: Difference between successive readings is reasonable
clock_gettime04.c:148: FAIL: CLOCK_MONOTONIC_RAW: Difference between successive readings greater than 5 ms (1): 22
clock_gettime04.c:148: FAIL: CLOCK_BOOTTIME: Difference between successive readings greater than 5 ms (1): 29

Signed-off-by: Li Wang <liwang@redhat.com>
Cc: Viresh Kumar <viresh.kumar@linaro.org>
Cc: Cyril Hrubis <chrubis@suse.cz>
---
 .../kernel/syscalls/clock_gettime/clock_gettime04.c  | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

Comments

Cyril Hrubis Sept. 15, 2020, 9:12 a.m. UTC | #1
Hi!
> Signed-off-by: Li Wang <liwang@redhat.com>
> Cc: Viresh Kumar <viresh.kumar@linaro.org>
> Cc: Cyril Hrubis <chrubis@suse.cz>
> ---
>  .../kernel/syscalls/clock_gettime/clock_gettime04.c  | 12 +++++++++---
>  1 file changed, 9 insertions(+), 3 deletions(-)
> 
> diff --git a/testcases/kernel/syscalls/clock_gettime/clock_gettime04.c b/testcases/kernel/syscalls/clock_gettime/clock_gettime04.c
> index 2f484c43f..be872d9aa 100644
> --- a/testcases/kernel/syscalls/clock_gettime/clock_gettime04.c
> +++ b/testcases/kernel/syscalls/clock_gettime/clock_gettime04.c
> @@ -22,6 +22,7 @@ clockid_t clks[] = {
>  };
>  
>  static gettime_t ptr_vdso_gettime, ptr_vdso_gettime64;
> +static long long DELTA = 5;

One minor nit, variables are supposed to be lowercase.

Other than that, Reviewed-by: Cyril Hrubis <chrubis@suse.cz>

>  static inline int do_vdso_gettime(gettime_t vdso, clockid_t clk_id, void *ts)
>  {
> @@ -82,6 +83,11 @@ static struct test_variants {
>  
>  static void setup(void)
>  {
> +	if (tst_is_virt(VIRT_ANY)) {
> +		tst_res(TINFO, "Running in a virtual machine, multiply the DELTA by 10.");
> +		DELTA *= 10;
> +	}
> +
>  	find_clock_gettime_vdso(&ptr_vdso_gettime, &ptr_vdso_gettime64);
>  }
>  
> @@ -143,9 +149,9 @@ static void run(unsigned int i)
>  
>  			diff /= 1000000;
>  
> -			if (diff >= 5) {
> -				tst_res(TFAIL, "%s: Difference between successive readings greater than 5 ms (%d): %lld",
> -					tst_clock_name(clks[i]), j, diff);
> +			if (diff >= DELTA) {
> +				tst_res(TFAIL, "%s: Difference between successive readings greater than %lld ms (%d): %lld",
> +					tst_clock_name(clks[i]), DELTA, j, diff);
>  				return;
>  			}
>  		}
> -- 
> 2.21.3
>
Li Wang Sept. 15, 2020, 10:59 a.m. UTC | #2
> One minor nit, variables are supposed to be lowercase.
>
> Other than that, Reviewed-by: Cyril Hrubis <chrubis@suse.cz>
>

Thanks for the review, pushed with lowercase tweaked.
diff mbox series

Patch

diff --git a/testcases/kernel/syscalls/clock_gettime/clock_gettime04.c b/testcases/kernel/syscalls/clock_gettime/clock_gettime04.c
index 2f484c43f..be872d9aa 100644
--- a/testcases/kernel/syscalls/clock_gettime/clock_gettime04.c
+++ b/testcases/kernel/syscalls/clock_gettime/clock_gettime04.c
@@ -22,6 +22,7 @@  clockid_t clks[] = {
 };
 
 static gettime_t ptr_vdso_gettime, ptr_vdso_gettime64;
+static long long DELTA = 5;
 
 static inline int do_vdso_gettime(gettime_t vdso, clockid_t clk_id, void *ts)
 {
@@ -82,6 +83,11 @@  static struct test_variants {
 
 static void setup(void)
 {
+	if (tst_is_virt(VIRT_ANY)) {
+		tst_res(TINFO, "Running in a virtual machine, multiply the DELTA by 10.");
+		DELTA *= 10;
+	}
+
 	find_clock_gettime_vdso(&ptr_vdso_gettime, &ptr_vdso_gettime64);
 }
 
@@ -143,9 +149,9 @@  static void run(unsigned int i)
 
 			diff /= 1000000;
 
-			if (diff >= 5) {
-				tst_res(TFAIL, "%s: Difference between successive readings greater than 5 ms (%d): %lld",
-					tst_clock_name(clks[i]), j, diff);
+			if (diff >= DELTA) {
+				tst_res(TFAIL, "%s: Difference between successive readings greater than %lld ms (%d): %lld",
+					tst_clock_name(clks[i]), DELTA, j, diff);
 				return;
 			}
 		}