journal 2026-05-06

P128: scheduler queue/lifetime depth

Forked P127 into P128 and added a shadow per-class scheduler queue model. Integer, memory, and control work each get a capacity-4 queue. The model drains at most one class per S_WB cycle with fixed priority. It does not change architectural execution.

Verification:

checkresult
make check-toolsPASS
P128 Verilator buildPASS
P128 BusyBox shell profilePASS
P128-FILE-OK at cycle218,746,544
Chart generationPASS

The important numbers:

queue samples          : 43,664,857
single ready           : 43,664,857
dual ready             : 0
triple ready           : 0
integer enqueues       : 9,815,302
memory enqueues        : 3,250,159
control enqueues       : 6,287,452
max occupancy I/M/C    : 1 / 1 / 1
full drops I/M/C       : 0 / 0 / 0

This keeps the backend story honest. The queue depth exists, but the modeled lifetime still never produces same-cycle multi-class readiness. P129 should split scheduler arrival from backend service more explicitly instead of adding a two-issue picker to a model with no choices.