On Wed, Dec 03, 2025 at 07:56:31PM +0800, Guopeng Zhang zhangguopeng@kylinos.cn 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@kylinos.cn Reviewed-by: Shakeel Butt shakeel.butt@linux.dev
tools/testing/selftests/cgroup/test_kmem.c | 33 ++++++++++------------ 1 file changed, 15 insertions(+), 18 deletions(-)
Acked-by: Michal Koutný mkoutny@suse.com