journal 2026-05-06

P136: I-cache background preemption is too aggressive

P135 showed that I-cache background fill was the largest single background guard blocking otherwise-safe aux-load opportunities. P136 tested the obvious relaxation: keep the D-cache background guard, but let a useful next-PC prefetch plus aux-load issue preempt I-cache background fill.

The shell workload still passes. That matters: the tagged aux response queue handled 1,773,934 load responses with 0 drops, 0 errors, and 0 cancels. The policy change is functionally viable.

It is not faster. The shell window moves from P135’s 65,411,939 cycles to 67,392,718 cycles. S_MEM rises from 27,975,703 to 29,771,841 cycles. The lesson is not “never preempt I-cache background fill”; it is that an unbounded preempt policy lets load service steal too much from instruction-line repair.

Next rung should add arbitration discipline: an age/debt counter, a quota, or a rollback to P134/P135 quiet-I-cache behavior with P136 kept as the measured negative result.