summaryrefslogtreecommitdiffstats
path: root/tools/guest-diag/track_waits.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tools/guest-diag/track_waits.sh')
-rw-r--r--tools/guest-diag/track_waits.sh10
1 files changed, 10 insertions, 0 deletions
diff --git a/tools/guest-diag/track_waits.sh b/tools/guest-diag/track_waits.sh
index 6ae9154..1e3cc91 100644
--- a/tools/guest-diag/track_waits.sh
+++ b/tools/guest-diag/track_waits.sh
@@ -45,6 +45,16 @@ while True:
except OSError:
vals.append('%d:ERR' % i)
print('%s %s' % (ts, ' '.join(vals)), flush=True)
+ # Raw hex dump of the counter window: shows the true slot layout and any
+ # value a stride-16 sample would misread.
+ try:
+ os.lseek(pm, (page // 4096) * 8, 0)
+ e = int.from_bytes(os.read(pm, 8), 'little')
+ if (e >> 63) & 1:
+ raw = os.pread(mem, 0x200, page + 0xe00)
+ print('%s RAW %s' % (ts, raw.hex()), flush=True)
+ except OSError:
+ pass
time.sleep(0.5)
PY
CNTPID=$!