Repository navigation
Nohandoffcache - #366
Merged
Merged
Nohandoffcache#366
Conversation
POST keeps its stack in cache tags for physical page 0 while it tests that page uncached, which is why the O2 ran the full cache model until the kernel started. Keep the cached path, ppmem and the JIT on the bank always, and while those tags stand let the bus decode answer for the page from a 4 KB page of its own. A PD Index Store Tag with a valid state for page 0 starts it and the next invalid one ends it, so a reboot through the PROM is caught as well as a reset. That removes the live-model test from every cached load, store and fetch, an atomic swap per batch, and the flush at the switch. The flush was also hiding a startup-order bug: compile workers read the cache geometry once as they start, and the O2 started them before publishing the memory windows, so a worker could compile every load and store as a call out. Start the pool after the windows. Measured against the handover on jitv2, one NUMA node, best of 3 in 2 boots: R5000 iris_bench 4.60/4.56 to 4.74/4.76 MB/s and Dhrystone about 11% up, R10000 Dhrystone 8-11% up, iris_bench and Whetstone within noise. Interpreter 3-4% up. Older O2 snapshots are refused unless IRIS_SNAPSHOT_SKIP_CHECK=1. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Compile workers read the cache geometry once as they start, and without the ppmem windows it has no inline load or store path. Same order as machine.rs. Two boots of the old order showed declined=0, so this closes a race rather than fixing a measured slowdown. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The PC VGA font looked out of place on an SGI. Screen 16 is exactly 8x16, so the drawing code is unchanged. tools/gen-screen-font.py generates src/vga_font.rs from the font's PCF file, and the table is renamed SCREEN_8X16 to match. The font is ISO 8859-1, not CP437: codes without a glyph are blank, and nothing draws the old box and control symbols. The overlay's arrows are now "->", since text is cut to one byte and U+2192 lands on a blank code. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
No description provided.