perf(cpu): isolate Raspberry Pi 5 polling contention - #361
Draft
richiejp wants to merge 11 commits into
Draft
Conversation
FOLLOWING_AGENTS_PROTOCOL Following-Agents-Protocol: true AI-Assisted: true Assisted-by: Codex:gpt-5.6-sol [Codex]
FOLLOWING_AGENTS_PROTOCOL Following-Agents-Protocol: true AI-Assisted: true Assisted-by: Codex:gpt-5.6-sol [Codex]
FOLLOWING_AGENTS_PROTOCOL Following-Agents-Protocol: true AI-Assisted: true Assisted-by: Codex:gpt-5.6-sol [Codex]
Transplant the reviewed Pi profile onto current upstream without treating the historical binary or T4/T3 arm as a one-variable polling control. Record the prompt-content mismatch and link the separately tracked mudler#293 discriminator. FOLLOWING_AGENTS_PROTOCOL Following-Agents-Protocol: true AI-Assisted: true Assisted-by: Codex:gpt-5.6-sol [Codex]
Record the isolated current-upstream implementation worktree and move the scoped polling discriminator from READY to ACTIVE without moving the broad SERVE-CLI-BENCH row. FOLLOWING_AGENTS_PROTOCOL Following-Agents-Protocol: true AI-Assisted: true Assisted-by: Codex:gpt-5.6-sol [Codex]
Reapply the same-binary concurrency-one polling discriminator unchanged onto current upstream. Keep poll as the default, reject blocking-c1 above c1, and record both the selected mode and blocking-call count in text and JSON output. FOLLOWING_AGENTS_PROTOCOL Following-Agents-Protocol: true AI-Assisted: true Assisted-by: Codex:gpt-5.6-sol [Codex]
Record the hash-verified current-source Pi control: blocking the sole collector restores the four-thread arm while the three-thread control stays neutral and exact tokens hold. Keep the accepted llama.cpp floor unchanged because the pathological polling arm exceeds the binding spread limit, and leave C2 to fresh review and implementation. FOLLOWING_AGENTS_PROTOCOL Following-Agents-Protocol: true AI-Assisted: true Assisted-by: Codex:gpt-5.6-sol [Codex]
Add a test-only wait trace that proves each blocking-c1 wait follows an empty nowait probe, cover the human-readable report, and repair the row anchors. The trace compiles out of production; native and AArch64 vllm-bench artifacts retain the reviewed executable bytes. FOLLOWING_AGENTS_PROTOCOL Following-Agents-Protocol: true AI-Assisted: true Assisted-by: Codex:gpt-5.6-sol [Codex]
Make the output-wait test observer inspect the result only after the same unconditional AsyncLLM call used by production. Replace the source-text guard with a deterministic runtime probe whose bypass mutation fails normally, while preserving the measured AArch64 Release binary byte-for-byte. FOLLOWING_AGENTS_PROTOCOL Following-Agents-Protocol: true AI-Assisted: true Assisted-by: Codex:gpt-5.6-sol [Codex]
Record the reviewed post-rebase operator gate without replacing the older binary's provenance. The current-main same-binary Pi control confirms four-core polling contention while T3 remains neutral, but the unstable poll arm still forbids a binding floor change. Correct the low-severity evidence precision finding by reporting the raw perf-stat T3 CPU-utilization medians to two decimal places. FOLLOWING_AGENTS_PROTOCOL Following-Agents-Protocol: true AI-Assisted: true Assisted-by: Codex:gpt-5.6-sol [Codex]
Require both benchmark admission arms to expose populated, exact per-request prompt IDs, so dropping the production assignment fails normally. Add semantic mutation evidence for the A76 inventory and STATUS ratchet changes, re-anchor the SERVE-CLI-BENCH row, and project the confirmed C1 polling cause without changing the llama.cpp floor. FOLLOWING_AGENTS_PROTOCOL Following-Agents-Protocol: true AI-Assisted: true Assisted-by: Codex:gpt-5.6-sol [Codex]
richiejp
force-pushed
the
row/KERNEL-GEMM-CPU-ELEM-A76
branch
from
August 11, 2026 13:25
c53700e to
cc4b195
Compare
Collaborator
|
This branch conflicts with git fetch origin main && git merge origin/mainThen, per conflicted file:
Anything under Sorry for the churn — removing a shared surface makes every in-flight branch pay once. After this merge your PR stops competing with other PRs for these files entirely, which is the point. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Row
KERNEL-GEMM-CPU-ELEM-A76— tracked by #284. The benchmark-control prerequisite is tracked by #293.Scope
This draft contains the reviewed concurrency-one
blocking-c1benchmark control and the Raspberry Pi 5 W0/C1 records. It preservespollas the default and rejectsblocking-c1above concurrency one.It also carries the latest-main integration repairs needed to preserve #206 prompt pretokenization, exact prompt IDs, and atomic ordered wave admission after rebasing.
This PR does not contain the general C2 event wait, the F16
neon-zip/neon-p8candidates, a default kernel change, or new assembly.What changed
poll/blocking-c1output-wait selector, CLI validation, JSON/text reporting, and exact-token tests.get_output_nowaitevaluation before the C1 blocking call.STATUS,BENCHMARKS,USAGE,NOW, the owning specs/matrices, and indexed Pi evidence. The llama.cpp floor remains unmet.Evidence
test_engine_core_proc,test_output_processor,test_async_llm,test_bench,test_cpu_threadpool).PATHcan resolve Git.Review state
Follow-up work not in this PR
518316436: product, native gates, and nine mutations passed review; a record-only anchor correction is required before it can pass final review.b120a71b5: native/cross-build/disassembly checks passed; review found that the physical-selection fixture needs an independent correctness golden before Pi benchmarking.baseline/neon-zip/neon-p8A/B, retain only a token-exact physical winner, and compare the full model against llama.cpp. Assembly remains forbidden until the C++ path clears that floor.Rebase status
This branch was rebased through upstream
11d45330b; upstreammainis now6dbedf9f3, and GitHub currently reports merge conflicts. Rebase, fresh conflict review, and exact-head QEMU/Pi evidence remain required before marking the PR ready.FOLLOWING_AGENTS_PROTOCOL