Repository navigation
doc: add CPU profiles and time-ABI components to the responsibility map - #461
Merged
Pedro Henrique Penna (ppenna) merged 1 commit intoOct 10, 2026
Merged
Conversation
The component responsibility map predates CPU profiles and the time ABI's guest and host components. Assign the CPU-profile catalog, the NVX egress-policy compiler, restore entropy, the guest time component, and host qualification to their components. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot started reviewing on behalf of
Pedro Henrique Penna (ppenna)
October 10, 2026 02:07
View session
Contributor
There was a problem hiding this comment.
🟢 Approval recommended
The documentation accurately reflects the referenced components and preserves the map’s established scope and style.
0 open findings
What changed in this PR
Updates the responsibility map to cover newer CPU-profile and time-ABI components.
Changes:
- Adds ownership entries for CPU profiles and egress-policy compilation.
- Documents restore entropy, guest time obligations, and host qualification ownership.
| File | Description |
|---|---|
doc/design/code-ownership-map.md |
Extends the architectural responsibility map with five areas and one expanded entry. |
🧠 Review effort: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Pedro Henrique Penna (ppenna)
deleted the
doc-sync/ownership-map-cpu-time
branch
October 10, 2026 02:11
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.
Summary
The component responsibility map is the entry point for the design docs, but it was written before CPU profiles and the time ABI's guest and host components existed. As a result, it did not say which component owns the guest-visible CPU surface, the guest's time obligations, restore entropy, host qualification, or the NVX-side egress-policy compiler. This PR adds those areas to the map. It names components only, following the map's navigation-aid style, and does not describe their internals.
OpenVMM pin (source of truth):
f4566bab0a30324de0a2ac292a65d0081ba319e0. Base:origin/devat38c67cf17cceaba0acdbddb19a422bab8828df11.Changes
All changes are in
doc/design/code-ownership-map.md(5 rows added, 1 row extended):--cpu-profileselection, host profiles andautofallback, backend support and restore checks, CPU fingerprints): OpenVMM CPU-profile catalog, with the shared time-ABI layer that builds the effective CPUIDopenvmm/vmm_core/cpu_profile/src/lib.rsmodule docs (Selection, Verification, Restore, fingerprints; "OpenVMM builds it invirt::time_abi::cpuid::effective_cpuid");openvmm/vmm_core/virt/src/time_abi/cpuid.rs;openvmm/openvmm/openvmm_entry/src/cpu_fingerprint.rsscripts/nvx_tools/egress_policy.py("Compile structured IPv4 egress policies to the native OpenVMM rule grammar"), used byscripts/nvx.pyforrun --network-egress-policy-fileguest/common/nvx-snapshotcalls/sbin/nvx-reseed(a full reseed, or--generation-onlyforinstance-checkpoint);guest/common/nvx-reseed.c;doc/design/time-abi.md#restore-entropyguest/common/nvx-time.cheader;guest/common/initrunsnvx-time boot;nvx-snapshotrunsnvx-time pre-capture,capture, andrestore-finish;doc/design/time-abi.md#guest-obligationspython scripts/nvx.py doctor --help(checks H1 to H7);scripts/nvx_tools/doctor.pyCHECK_TITLES;.github/actions/validate-runner/action.ymlrunsdoctor --checks H1 H2 H4plus H3 and H6 when their inputs enable themConservative choices
time-abi.md, which open PRs test-microvm: pause and resume a microVM through OpenVMM state control #405 and Adopt bind-once microVM image slots #406 also edit, so this PR doesn't touch it.instance-checkpointtier refreshes only the generation ID.Follow-ups (out of scope)
scripts/setup/README.mdis documentation outsidedoc/. Moving it means updating links indoc/ci.mdanddoc/setup.md, which open PRs (filesystem: map host paths from any volume, each with its own access #459, test-microvm: pause and resume a microVM through OpenVMM state control #405, Adopt bind-once microVM image slots #406) change, so I left it alone for now.doc/openvmm-upstream-roadmap.mdis a point-in-time snapshot (fork tip2728f33e, upstream main from 2026-10-01). It predates several pin updates and needs either a refresh against upstream or an explicit "snapshot as of" framing.Validation
python -m unittest scripts.test_nvx_tools.CliTests scripts.test_performance.PerformanceTests:Ran 110 tests,OK (skipped=1).doc/design.md). The changed file has one H1 and balanced code fences, anddoc/design.mdlinks all 16 chapters indoc/design/. Errors: 0.git diff --check: clean.python scripts\nvx.py verify: passed ("source tree and submodule metadata are consistent").doc/design/code-ownership-map.md, which matches^(doc/|.*\.md$).