From fdeb1d4ba62283210dc259141da4da024bd1cc77 Mon Sep 17 00:00:00 2001 From: Arthur Hanson Rasmusson Date: Tue, 29 Sep 2026 14:47:17 -0400 Subject: guest-diag: cheaper trace read, optional push sampler, bigger pagemap batches Under load the semfix poll grepped the whole (growing) trace file and the track_waits push block spawned three guest processes per sample, both of which slowed the pin path into the client's failure window. The trace read now tails 128 KB; track_waits.sh gates the push dump behind PUSH=0; the pagemap helper reads 32 KB chunks. --- tools/guest-diag/semfix_watch.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'tools/guest-diag/semfix_watch.py') diff --git a/tools/guest-diag/semfix_watch.py b/tools/guest-diag/semfix_watch.py index 400fafe..347da5e 100644 --- a/tools/guest-diag/semfix_watch.py +++ b/tools/guest-diag/semfix_watch.py @@ -145,7 +145,8 @@ def guest_trace(): Read *before* clearing: the create-time probes fire once per client and would be wiped by a clear that races them. """ - inner = ("grep -E \"uvmt|uvch|uvbp|uvpbf\" /sys/kernel/tracing/trace " + inner = ("tail -c 131072 /sys/kernel/tracing/trace " + "| grep -E \"uvmt|uvch|uvbp|uvpbf\" " "| tail -400") if not os.environ.get("KEEP_TRACE"): inner += "; echo > /sys/kernel/tracing/trace" -- cgit v1.2.3