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.
Reason for This PR
#1571
Description of Changes
Added a virtio balloon device that supports statistics.
Note: Because Firecracker uses a private anonymous mapping for freshly booted microVMs and private file-backed mapping for snapshot resumed microVMs, a
madvise
call for releasing memory is not sufficient to work in both cases.This PR currently uses a hacky approach: before
madvise
,mmap
a fresh private anonymous region over the one that we want the kernel to release.There are still some things to be done:
take a closer look at the error handling
improve statistics tests
surface statistics through the metrics
This functionality can be added in
rust-vmm
.License Acceptance
By submitting this pull request, I confirm that my contribution is made under
the terms of the Apache 2.0 license.
PR Checklist
[Author TODO: Meet these criteria.]
[Reviewer TODO: Verify that these criteria are met. Request changes if not]
git commit -s
).unsafe
code is properly documented.firecracker/swagger.yaml
.CHANGELOG.md
.