[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