Re: [PATCH v5 3/3] selftests: cgroup: Replace sleep with cg_read_key_long_poll() for waiting on nr_dying_descendants
From: Michal Koutný
Date: Thu Dec 04 2025 - 10:04:45 EST
On Wed, Dec 03, 2025 at 07:56:31PM +0800, Guopeng Zhang <zhangguopeng@xxxxxxxxxx> wrote:
> Replace the manual sleep-and-retry logic in test_kmem_dead_cgroups()
> with the new helper `cg_read_key_long_poll()`. This change improves
> the robustness of the test by polling the "nr_dying_descendants"
> counter in `cgroup.stat` until it reaches 0 or the timeout is exceeded.
>
> Additionally, increase the retry timeout to 8 seconds (from 5 seconds)
> based on testing results:
> - With 5-second timeout: 4/20 runs passed.
> - With 8-second timeout: 20/20 runs passed.
>
> The 8 second timeout is based on stress testing of test_kmem_dead_cgroups()
> under load: 5 seconds was occasionally not enough for reclaim of dying
> descendants to complete, whereas 8 seconds consistently covered the observed
> latencies. This value is intended as a generous upper bound for the
> asynchronous reclaim and is not tied to any specific kernel constant, so it
> can be adjusted in the future if reclaim behavior changes.
Great!
>
> Signed-off-by: Guopeng Zhang <zhangguopeng@xxxxxxxxxx>
> Reviewed-by: Shakeel Butt <shakeel.butt@xxxxxxxxx>
> ---
> tools/testing/selftests/cgroup/test_kmem.c | 33 ++++++++++------------
> 1 file changed, 15 insertions(+), 18 deletions(-)
Acked-by: Michal Koutný <mkoutny@xxxxxxxx>
Attachment:
signature.asc
Description: PGP signature