[LTP] [PATCH v2] swapping01.c: Add sleeps in the loop that dirties the memory

Petr Vorel pvorel@suse.cz
Thu May 9 14:57:14 CEST 2024


Hi Wei,

> +++ b/testcases/kernel/mem/swapping/swapping01.c
> @@ -47,6 +47,7 @@
>  #define COE_DELTA       1
>  /* will try to alloc 1.3 * phy_mem */
>  #define COE_SLIGHT_OVER 0.3
> +#define MEM_SIZE 1024 * 1024

>  static void init_meminfo(void);
>  static void do_alloc(int allow_raise);
> @@ -101,6 +102,13 @@ static void init_meminfo(void)
>  				swap_free_init, mem_over_max);
>  }

> +static void memset_blocks(char *ptr, int mem_count, int sleep_time_ms) {
> +	for (int i = 0; i < mem_count / 1024; i++) {
> +		memset(ptr + (i * MEM_SIZE), 1, MEM_SIZE);
> +		usleep(sleep_time_ms * 1000);
> +	}
> +}
> +
>  static void do_alloc(int allow_raise)
>  {
>  	long mem_count;
> @@ -115,7 +123,7 @@ static void do_alloc(int allow_raise)
>  	if (allow_raise == 1)
>  		tst_res(TINFO, "try to allocate: %ld MB", mem_count / 1024);
>  	s = SAFE_MALLOC(mem_count * 1024);
> -	memset(s, 1, mem_count * 1024);
> +	memset_blocks(s, mem_count, 1);
nit: Actually when we have custom function used on single place, we might want
to avoid the last parameter 1, right? We could usleep(1000) directly.

We use MEM_SIZE definition outside of the function anyway.

I can change it before merge:

diff --git testcases/kernel/mem/swapping/swapping01.c testcases/kernel/mem/swapping/swapping01.c
index 79dd2b4d5..09820e3d9 100644
--- testcases/kernel/mem/swapping/swapping01.c
+++ testcases/kernel/mem/swapping/swapping01.c
@@ -102,10 +102,10 @@ static void init_meminfo(void)
 				swap_free_init, mem_over_max);
 }
 
-static void memset_blocks(char *ptr, int mem_count, int sleep_time_ms) {
+static void memset_blocks(char *ptr, int mem_count) {
 	for (int i = 0; i < mem_count / 1024; i++) {
 		memset(ptr + (i * MEM_SIZE), 1, MEM_SIZE);
-		usleep(sleep_time_ms * 1000);
+		usleep(1000);
 	}
 }
 
@@ -123,7 +123,7 @@ static void do_alloc(int allow_raise)
 	if (allow_raise == 1)
 		tst_res(TINFO, "try to allocate: %ld MB", mem_count / 1024);
 	s = SAFE_MALLOC(mem_count * 1024);
-	memset_blocks(s, mem_count, 1);
+	memset_blocks(s, mem_count);
 
 	if ((allow_raise == 1) && (raise(SIGSTOP) == -1)) {
 		tst_res(TINFO, "memory allocated: %ld MB", mem_count / 1024);


More information about the ltp mailing list