kas/README: record the real-time strategy decision

CONFIG_PREEMPT=y (factory behavior); PREEMPT_RT unavailable on arm32
6.12 and unnecessary for the pulse feeder - the 128 MiB SDMA ring at
1 byte per EPIT tick holds minutes of stream, so deep buffering plus
SCHED_FIFO rides out any PREEMPT-scale scheduling latency. Documents
the audit M9/N15 arithmetic next to the migration backlog.
This commit is contained in:
ScottW514
2026-07-26 15:54:16 -04:00
parent 0596a08f01
commit e0da938e4b
+13 -1
View File
@@ -190,7 +190,19 @@ Scarthgap, but the legacy (Dunfell/Gatesgarth) layers won't build clean until:
them. them.
4. **Device tree** — revalidate the `glowforge` `.dts` against the linux-fslc 4. **Device tree** — revalidate the `glowforge` `.dts` against the linux-fslc
6.12 DT bindings (paired with the kernel forward-port in #2). 6.12 DT bindings (paired with the kernel forward-port in #2).
5. **gfui-client → forgectrl** — the Glowforge **cloud client is now removed** 5. **Real-time strategy — decided (2026-07-26, audit M9/N15).** The kernel runs
`CONFIG_PREEMPT=y` (factory behavior; `imx_v6_v7_defconfig` alone gives only
`PREEMPT_VOLUNTARY`). **PREEMPT_RT is not selectable on arm32 6.12** (no
`ARCH_SUPPORTS_RT`) and is **not needed for the pulse feeder**: the SDMA
ring is 128 MiB draining at 1 byte per EPIT tick — ≤200–400 KB/s even at
the 200 kHz ceiling — so a full ring holds **~5–11 minutes** of stream and
a modest 1 MiB of queued data already rides out ~3–5 s of scheduling
latency, orders of magnitude beyond anything PREEMPT exhibits. Deep
buffering + `SCHED_FIFO` for the feeder is the design; revisit RT only if
the underrun bench ever contradicts this arithmetic. (The audit Phase 2
bench: 5 s of continuous feed at a 1 s buffer depth, zero underruns.)
6. **gfui-client → forgectrl** — the Glowforge **cloud client is now removed**
from `forgefirm-image` (`IMAGE_INSTALL:remove = "gfui-client"` in from `forgefirm-image` (`IMAGE_INSTALL:remove = "gfui-client"` in
`meta-forgefirm/recipes-forgefirm/images/forgefirm-image.bb`) — it connected to `meta-forgefirm/recipes-forgefirm/images/forgefirm-image.bb`) — it connected to
Glowforge's servers, the dependency ForgeFIRM exists to cut. The grblHAL Glowforge's servers, the dependency ForgeFIRM exists to cut. The grblHAL