journal 2026-05-06

P129: scheduler arrival/service decoupling

Forked P128 into P129 and added a stricter shadow scheduler model: frontend-side arrival requests and backend service events are counted separately for integer, memory, and control classes. This does not change architectural execution.

Verification:

checkresult
make check-toolsPASS
P129 Verilator buildPASS
P129 BusyBox shell profilePASS
P129-FILE-OK at cycle218,413,804
Chart generationPASS

The important numbers:

capacity per class        : 8
samples                   : 50,443,768
single ready              : 50,443,768
dual ready                : 0
triple ready              : 0
integer arrivals/services : 13,098,026 / 13,098,026
memory arrivals/services  : 3,245,358 / 3,245,299
control arrivals/services : 6,310,289 / 6,310,289
max occupancy I/M/C       : 1 / 1 / 1

This answers the abstraction question directly. The current frontend and backend boundary is not yet proper enough. The counters are useful, but they still orbit a monolithic FSM. P130 should make the boundary a real ready/valid contract before we keep stacking scheduler ideas on top.