diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-09-29 13:17:33 -0400 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-09-29 13:17:33 -0400 |
| commit | ba7a2b0757dc9a22e893ebe4c71c07878ec0842d (patch) | |
| tree | 4bd4dd55e6a6a8e717dcc13bffa7e8187d09fd62 /tools/guest-diag | |
| parent | d43eb3333df20666dc99c677a376a576e80443a1 (diff) | |
| download | open-iov-ba7a2b0757dc9a22e893ebe4c71c07878ec0842d.tar.gz open-iov-ba7a2b0757dc9a22e893ebe4c71c07878ec0842d.zip | |
guest-diag: bound pushbuffer fallback scan (400 candidates / 30s)
Diffstat (limited to 'tools/guest-diag')
| -rw-r--r-- | tools/guest-diag/semfix_watch.py | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/tools/guest-diag/semfix_watch.py b/tools/guest-diag/semfix_watch.py index 93302cc..0de5cad 100644 --- a/tools/guest-diag/semfix_watch.py +++ b/tools/guest-diag/semfix_watch.py @@ -157,7 +157,11 @@ def resolve_pushbuffer(q, sem): if gpa: return gpu_vas, cpu, gpa # Chain 2: value is the pushbuffer itself; +8 = rm_mem. - for V in cands: + # Two QMP reads per candidate, so cap the scan (bounded in time). + deadline = time.time() + 30 + for V in cands[:400]: + if time.time() > deadline: + break mem = q.read64(V + 8) if not mem or not is_kern(mem[0]): continue |
