On Wed, Dec 03, 2025 at 07:56:31PM +0800, Guopeng Zhang 
<[email protected]> 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 <[email protected]>
> Reviewed-by: Shakeel Butt <[email protected]>
> ---
>  tools/testing/selftests/cgroup/test_kmem.c | 33 ++++++++++------------
>  1 file changed, 15 insertions(+), 18 deletions(-)

Acked-by: Michal Koutný <[email protected]>

Attachment: signature.asc
Description: PGP signature

Reply via email to