-
Notifications
You must be signed in to change notification settings - Fork 2.2k
fix: Allow jailer to continue with partial CPU cache info #5062
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
fix: Allow jailer to continue with partial CPU cache info #5062
Conversation
|
With this change, the |
ShadowCurse
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.
Hi @gudmundur, thank you for the PR. Even though Firecracker officially does not support nested virtualization usage, it will be nice to have a consistent behavior between Jailer and Firecracker.
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #5062 +/- ##
==========================================
- Coverage 83.19% 83.18% -0.01%
==========================================
Files 247 247
Lines 26814 26817 +3
==========================================
+ Hits 22308 22309 +1
- Misses 4506 4508 +2
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
If CPU caching information is missing, this change allows the jailer to still continue, and fall through to the validation logic in firecracker. Signed-off-by: Gudmundur Bjarni Olafsson <[email protected]>
f1705c7 to
426b027
Compare
Changes
Allows the
jailerto continue when files in/sys/devices/system/cpu/cpuX/cache/indexY/are missing.Reason
Nested virtualization support was added on macOS Sequoia for Apple M3/M4 chips. When using
vzwith Lima a few of the CPU cache information files are missing, namelysize,coherency_line_size, andnumber_of_sets.firecrackeritself handles if these files are missing, while thejailerdoesn't . This patch passes whatever is present to the copied cache information, and allowsfirecrackerto determine if it is valid or not.By making this change, we are able to simplify our development environments drastically by not requiring either GitHub Codespaces or AWS EC2 metal instances.
License Acceptance
By submitting this pull request, I confirm that my contribution is made under
the terms of the Apache 2.0 license. For more information on following Developer
Certificate of Origin and signing off your commits, please check
CONTRIBUTING.md.PR Checklist
tools/devtool checkstyleto verify that the PR passes theautomated style checks.
how they are solving the problem in a clear and encompassing way.
in the PR.
CHANGELOG.md.- [ ] If a specific issue led to this PR, this PR closes the issue.- [ ] When making API changes, I have followed theRunbook for Firecracker API changes.
integration tests.
- [ ] I have linked an issue to every newTODO.rust-vmm.