Re: [LTP] [PATCH v2] memcg/functional: fix memcg_failcnt intermittent timeout by disabling swap

Li Wang <[email protected]>
Newsgroups it.linux.lists.ltp
Message-ID <[email protected]>
Hi Xuewen,

Xuewen Wang wrote:

> memcg_failcnt.sh tests the memory.failcnt counter by allocating
> reclaimable memory (mmap-anon/mmap-file/shm) beyond a tiny cgroup
> limit (1 page). It relies on the process being OOM-killed so that
> signal_memcg_process()'s wait loop exits.
> 
> With swap enabled the kernel usually still OOM-kills the process,
> but on arm64 reclaim (swap out) sometimes succeeds instead:
> usage_in_bytes stays at the limit and the process keeps running,
> so the wait loop times out (TBROK) intermittently.
> 
> Example failure on arm64 (kernel 6.6):
>   memcg_failcnt 2 TBROK: timed out on memory.usage_in_bytes 4096 0 8192
> 
> Disable swap around the allocation and re-enable it afterwards,
> mirroring what memcg_limit_in_bytes.sh already does for the same
> reclaimable memory types.

This fix make sense, but I'd rather go with a tidy way:

...
TST_SETUP=do_setup
TST_CLEANUP=do_cleanup

do_setup()
{
        memcg_setup
        swapoff -a
}

do_cleanup()
{
        swapon -a
        memcg_cleanup
}

...

My Red Hat email address is no longer used. Please CC my new
address for future versions:

  [email protected]
or:
  [email protected]

-- 
Regards,
Li Wang

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.