-
Notifications
You must be signed in to change notification settings - Fork 161
openhcl_boot: set aside private pool memory based on heuristics #2215
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Promote the settings that change how VTL2 memory is allocated to the Petri VM objects, rather than being hidden in the depths of the OpenVMM config. This is a convenience for additional tests coming as part of #2215 .
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR implements heuristic-based private pool memory allocation for OpenHCL boot, allowing the system to automatically determine appropriate DMA memory sizes when not explicitly specified by external sources. The changes enable OpenHCL to retrofit private pool memory into existing deployments that don't explicitly configure it.
Key Changes:
- Adds a lookup table and calculation logic for determining VTL2 DMA hint values based on VP count and memory size
- Updates the boot parameter logic to use heuristics when neither command line nor device tree specify pool sizes
- Extends VMM tests to validate private pool behavior with various configurations
Reviewed Changes
Copilot reviewed 5 out of 6 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| openhcl/openhcl_boot/src/host_params/dt/dma_hint.rs | New module implementing DMA hint calculation with lookup table and extrapolation logic |
| openhcl/openhcl_boot/src/host_params/dt/mod.rs | Integrates DMA hint calculation into boot parameter processing with fallback to heuristics |
| openhcl/openhcl_boot/Cargo.toml | Adds test dependencies for tracing support in unit tests |
| vmm_tests/vmm_tests/tests/tests/x86_64/openhcl_uefi.rs | Adds new test cases and extends test helper to support configurable processor topology and VTL2 memory sizes |
| petri/src/vm/mod.rs | Adds Debug derive to ProcessorTopology for improved test diagnostics |
amy-microsoft
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nothing jumps out to me, but happy for others' opinions!
…cs (microsoft#2215)" This reverts commit dcd23e2.
…ics (microsoft#2215)" (microsoft#2339) This reverts commit c552f9a.
…ics (microsoft#2215)" (microsoft#2339) This reverts commit c552f9a.
This re-appplies #2215, now that we've figured out the CI issues (I hope). - **vmm_tests: add large nvme relay tests** - **test fix, pr feedback** - **up the vm memory** - **tests: correctly mark heavy and very_heavy tests as heavy and very_heavy** - **Reapply "openhcl_boot: set aside private pool memory based on heuristics (#2215)" (#2339)**
With many thanks, this comes from @yupavlen-ms's PR #1190 . Other parts of his PR have been split out or handed in different ways.
TODO: