summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/guest-diag/semfix_watch.py6
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