* [Devel] [PATCH vz10] selftests/damon: wait for the merge to apply the new max_nr_regions
@ 2026-08-21 15:13 Eva Kurchatova
2026-08-31 23:22 ` Eva Kurchatova (Virtuozzo)
0 siblings, 1 reply; 2+ messages in thread
From: Eva Kurchatova @ 2026-08-21 15:13 UTC (permalink / raw)
damon_nr_regions sleeps 0.3s after committing max_nr_regions and then
reads the number of regions back, which assumes the merge has happened
by then. On a machine that is not idle it has not, and the test fails
on a region count that is still the old one.
Poll until the count settles instead of sleeping for a fixed time.
https://virtuozzo.atlassian.net/browse/VSTOR-132453
Feature: fix selftests
Signed-off-by: Eva Kurchatova <eva.kurchatova@virtuozzo.com>
---
.../selftests/damon/damon_nr_regions.py | 35 +++++++++++--------
1 file changed, 20 insertions(+), 15 deletions(-)
diff --git a/tools/testing/selftests/damon/damon_nr_regions.py b/tools/testing/selftests/damon/damon_nr_regions.py
index cb31cd140d22..39063ce5b27d 100755
--- a/tools/testing/selftests/damon/damon_nr_regions.py
+++ b/tools/testing/selftests/damon/damon_nr_regions.py
@@ -4,6 +4,7 @@
import subprocess
import time
+
import _damon_sysfs
def test_nr_regions(real_nr_regions, min_nr_regions, max_nr_regions):
@@ -114,27 +115,31 @@ def main():
proc.terminate()
print('commit failed: %s' % err)
exit(1)
- # wait for next merge operation is executed
- time.sleep(0.3)
+ # wait for the merge operations to apply the new max_nr_regions
+ nr_tried_regions = 0
+ for _ in range(50):
+ time.sleep(0.1)
- err = kdamonds.kdamonds[0].update_schemes_tried_regions()
- if err is not None:
- proc.terminate()
- print('tried regions update failed: %s' % err)
- exit(1)
+ err = kdamonds.kdamonds[0].update_schemes_tried_regions()
+ if err is not None:
+ proc.terminate()
+ print('tried regions update failed: %s' % err)
+ exit(1)
- scheme = kdamonds.kdamonds[0].contexts[0].schemes[0]
- if scheme.tried_regions is None:
- proc.terminate()
- print('tried regions is not collected')
- exit(1)
+ scheme = kdamonds.kdamonds[0].contexts[0].schemes[0]
+ if scheme.tried_regions is None:
+ proc.terminate()
+ print('tried regions is not collected')
+ exit(1)
+
+ nr_tried_regions = len(scheme.tried_regions)
+ if 0 < nr_tried_regions <= 7:
+ break
+ proc.terminate()
- nr_tried_regions = len(scheme.tried_regions)
if nr_tried_regions <= 0:
- proc.terminate()
print('tried regions is not created')
exit(1)
- proc.terminate()
if nr_tried_regions > 7:
print('fail online-tuned max_nr_regions: %d > 7' % nr_tried_regions)
--
2.55.0
^ permalink raw reply [flat|nested] 2+ messages in thread* Re: [Devel] [PATCH vz10] selftests/damon: wait for the merge to apply the new max_nr_regions
2026-08-21 15:13 [Devel] [PATCH vz10] selftests/damon: wait for the merge to apply the new max_nr_regions Eva Kurchatova
@ 2026-08-31 23:22 ` Eva Kurchatova (Virtuozzo)
0 siblings, 0 replies; 2+ messages in thread
From: Eva Kurchatova (Virtuozzo) @ 2026-08-31 23:22 UTC (permalink / raw)
To: devel
On 8/21/26 18:13, Eva Kurchatova wrote:
> damon_nr_regions sleeps 0.3s after committing max_nr_regions and then
> reads the number of regions back, which assumes the merge has happened
> by then. On a machine that is not idle it has not, and the test fails
> on a region count that is still the old one.
>
> Poll until the count settles instead of sleeping for a fixed time.
>
> https://virtuozzo.atlassian.net/browse/VSTOR-132453
> Feature: fix selftests
> Signed-off-by: Eva Kurchatova <eva.kurchatova@virtuozzo.com>
> ---
> .../selftests/damon/damon_nr_regions.py | 35 +++++++++++--------
> 1 file changed, 20 insertions(+), 15 deletions(-)
>
> diff --git a/tools/testing/selftests/damon/damon_nr_regions.py b/tools/testing/selftests/damon/damon_nr_regions.py
> index cb31cd140d22..39063ce5b27d 100755
> --- a/tools/testing/selftests/damon/damon_nr_regions.py
> +++ b/tools/testing/selftests/damon/damon_nr_regions.py
> @@ -4,6 +4,7 @@
> import subprocess
> import time
>
> +
> import _damon_sysfs
>
> def test_nr_regions(real_nr_regions, min_nr_regions, max_nr_regions):
> @@ -114,27 +115,31 @@ def main():
> proc.terminate()
> print('commit failed: %s' % err)
> exit(1)
> - # wait for next merge operation is executed
> - time.sleep(0.3)
> + # wait for the merge operations to apply the new max_nr_regions
> + nr_tried_regions = 0
> + for _ in range(50):
> + time.sleep(0.1)
>
> - err = kdamonds.kdamonds[0].update_schemes_tried_regions()
> - if err is not None:
> - proc.terminate()
> - print('tried regions update failed: %s' % err)
> - exit(1)
> + err = kdamonds.kdamonds[0].update_schemes_tried_regions()
> + if err is not None:
> + proc.terminate()
> + print('tried regions update failed: %s' % err)
> + exit(1)
>
> - scheme = kdamonds.kdamonds[0].contexts[0].schemes[0]
> - if scheme.tried_regions is None:
> - proc.terminate()
> - print('tried regions is not collected')
> - exit(1)
> + scheme = kdamonds.kdamonds[0].contexts[0].schemes[0]
> + if scheme.tried_regions is None:
> + proc.terminate()
> + print('tried regions is not collected')
> + exit(1)
> +
> + nr_tried_regions = len(scheme.tried_regions)
> + if 0 < nr_tried_regions <= 7:
> + break
> + proc.terminate()
>
> - nr_tried_regions = len(scheme.tried_regions)
> if nr_tried_regions <= 0:
> - proc.terminate()
> print('tried regions is not created')
> exit(1)
> - proc.terminate()
>
> if nr_tried_regions > 7:
> print('fail online-tuned max_nr_regions: %d > 7' % nr_tried_regions)
Sent v2, replacing this commit with two upstream backports:
https://lists.openvz.org/pipermail/devel/2026-September/084959.html
Verification:
https://bitbucket.org/virtuozzocore/vzkernel.vzspecs/pipelines/results/609
_______________________________________________
Devel mailing list
Devel@openvz.org
https://lists.openvz.org/mailman/listinfo/devel
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-08-31 23:24 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-08-21 15:13 [Devel] [PATCH vz10] selftests/damon: wait for the merge to apply the new max_nr_regions Eva Kurchatova
2026-08-31 23:22 ` Eva Kurchatova (Virtuozzo)
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox