From 2c4400914f0e68126b9bc62612c3cd91ebf163de Mon Sep 17 00:00:00 2001 From: David Rice Date: Tue, 26 May 2026 17:33:37 +0200 Subject: [PATCH] Commit --- flicker_investigation_continued.html | 53 +++++++++++++++++++++++----- 1 file changed, 45 insertions(+), 8 deletions(-) diff --git a/flicker_investigation_continued.html b/flicker_investigation_continued.html index e56dc19..3a1d73a 100644 --- a/flicker_investigation_continued.html +++ b/flicker_investigation_continued.html @@ -252,16 +252,53 @@ transient that completes within one poll interval. Specifically:

hardware-level events that do not change any register I am polling (e.g. a brief PHY FIFO timing slip with no associated interrupt) are also outside what this instrumentation can detect. -
  • Why I did not poll faster. The DSIM register reads - go through the memtool userspace tool via subprocess - calls, which has non-trivial overhead. Pushing the wide poll much - below ~100 ms started loading the device CPU and impacting the I²C - poll loop. I did not try to optimise this further.
  • +
  • Why I did not push the wide poll faster. The + memtool subprocess calls have non-trivial overhead and + pushing the wide poll much below ~100 ms started loading the device CPU + and impacting the I²C poll loop.
  • -

    So the correct way to read section 4 is: at the resolutions I could poll, -nothing showed up. That is consistent with — but not proof of — the fault -being below register visibility (e.g. a sub-frame transient timing event).

    +

    Follow-up trial: high-rate /dev/mem mmap poll

    + +

    To try to see below the 500 ms ceiling I added a second poller that +bypasses memtool by mmap-ing /dev/mem directly in +Python and reading the DSIM registers via load instructions, aiming for +~1 ms resolution. A short captured window showed:

    + + + +

    So the most accurate position on register-level diagnostics for this +investigation is:

    + +

    5. Reproducer without GStreamer or video