[LTP] [PATCH v1] swapping01.c: Add sleeps in the loop that dirties the memory
Vlastimil Babka
vbabka@suse.com
Fri Apr 19 10:11:35 CEST 2024
On 4/18/24 6:34 PM, Cyril Hrubis wrote:
> Hi!
>> https://bugzilla.suse.com/show_bug.cgi?id=1217850#c34
>
> If I'm counting right this is 10ms * 1024 which is 10s, I would be
> happier with 1ms sleep instead. Or if we did 10ms sleep once every 10
> memsets() instead.
Yeah I proposed you can try to reduce the sleep time/frequency to basically
to lowest value (with some margin) that resolves the issue reliably in your
testing. That 10ms per MB was just a possible starting point.
> Also since this was proposed by Vlastimil in the bugzilla he should
> ideally give his ack here as well (now in CC).
>
>> Signed-off-by: Wei Gao <wegao@suse.com>
Acked-by: Vlastimil Babka <vbabka@suse.cz>
>> ---
>> testcases/kernel/mem/swapping/swapping01.c | 10 +++++++++-
>> 1 file changed, 9 insertions(+), 1 deletion(-)
>>
>> diff --git a/testcases/kernel/mem/swapping/swapping01.c b/testcases/kernel/mem/swapping/swapping01.c
>> index a0030a75f..338881c8e 100644
>> --- a/testcases/kernel/mem/swapping/swapping01.c
>> +++ 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, 10);
>>
>> if ((allow_raise == 1) && (raise(SIGSTOP) == -1)) {
>> tst_res(TINFO, "memory allocated: %ld MB", mem_count / 1024);
>> --
>> 2.35.3
>>
>>
>> --
>> Mailing list info: https://lists.linux.it/listinfo/ltp
>
More information about the ltp
mailing list