[LTP] [PATCH v2] memcg/functional: fix memcg_failcnt intermittent timeout by disabling swap
Li Wang
li.wang@linux.dev
Wed Aug 5 09:34:49 CEST 2026
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:
li.wang@linux.dev
or:
liwang@hygon.cn
--
Regards,
Li Wang
More information about the ltp
mailing list