Skip to content

Nested virtualization benchmark#9

Closed
ValentaTomas wants to merge 41 commits into
mainfrom
smallpages-test
Closed

Nested virtualization benchmark#9
ValentaTomas wants to merge 41 commits into
mainfrom
smallpages-test

Conversation

@ValentaTomas

Copy link
Copy Markdown
Member

Changes

...

Reason

...

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

  • I have read and understand CONTRIBUTING.md.
  • I have run tools/devtool checkbuild --all to verify that the PR passes
    build checks on all supported architectures.
  • I have run tools/devtool checkstyle to verify that the PR passes the
    automated style checks.
  • I have described what is done in these changes, why they are needed, and
    how they are solving the problem in a clear and encompassing way.
  • I have updated any relevant documentation (both in code and in the docs)
    in the PR.
  • I have mentioned all user-facing changes in CHANGELOG.md.
  • If a specific issue led to this PR, this PR closes the issue.
  • When making API changes, I have followed the
    Runbook for Firecracker API changes.
  • I have tested all new and changed functionalities in unit tests and/or
    integration tests.
  • I have linked an issue to every new TODO.

  • This functionality cannot be added in rust-vmm.

zulinx86 and others added 30 commits May 6, 2025 14:32
Marks all unreleased changes as 1.12.0.

Signed-off-by: Takahiro Itazuri <itazur@amazon.com>
Adds v1.12 to the release status table and marks v1.10 as unsupported.

Signed-off-by: Takahiro Itazuri <itazur@amazon.com>
Intel Sapphire Rapids and ARM Graviton4 are now supported.

Signed-off-by: Takahiro Itazuri <itazur@amazon.com>
Update version number / CREDITS

Signed-off-by: Takahiro Itazuri <itazur@amazon.com>
`set -x` shows what commands ran, which helps us identify what failed
in the release process.

Signed-off-by: Takahiro Itazuri <itazur@amazon.com>
I renamed the custom CPU template files uppercase, but I forgot to
update their names in release.sh.

Fixes: 2862941 ("chore: Use uppercase for custom CPU templates")
Signed-off-by: Takahiro Itazuri <itazur@amazon.com>
The current metric dimensions are so that we have 13k+ different sets of
dimensions for each metric, which makes it impossible to plot in
CloudWatch.
This change adds a new set of dimensions with just the test name so that
we reduce it to a few hundreds and are able to plot them (CW limit is
500).

Signed-off-by: Riccardo Mancini <mancio@amazon.com>
Signed-off-by: Patrick Roy <roypat@amazon.co.uk>
The `max_size` field is public, so no need for a getter.

Signed-off-by: Egor Lazarchuk <yegorlz@amazon.co.uk>
The size of queue set by the driver must be always less or equal to the
queue size in FC. This is checked before device activation.
This removes the need for `actual_size` function.

Signed-off-by: Egor Lazarchuk <yegorlz@amazon.co.uk>
Currently block device has a guest notification logic
inside it's request processing loop. This can create a
situation when guest can continuously add more requests to the
queue, making the whole request processing loop arbitrary long.
This is an issue, since it block any other IO from being processed.

The solution is to simply notify guest one time, after all current
requests are processed.

Signed-off-by: Egor Lazarchuk <yegorlz@amazon.co.uk>
Signed-off-by: Riccardo Mancini <mancio@amazon.com>
VIRTIO spec states:
```
After the device writes a descriptor index into the used ring:
  If the idx field in the used ring (which determined where that
  descriptor index was placed) was equal to used_event, the device
  MUST send a notification.
```
The current implementation does not follow this very precisely. It
bumps used ring index when new descriptors are added to the used
ring. But the check if the notification is needed is postponed to
later processing stage.
To be more VIRTIO spec compliant simply move the logic for updating
the used ring index into the later processing stage as well, just
before the check if the notification should be send.

Signed-off-by: Egor Lazarchuk <yegorlz@amazon.co.uk>
Add a new changelog entry for the block device fairness fix.

Signed-off-by: Riccardo Mancini <mancio@amazon.com>
Update version number / CHANGELOG / CREDITS

Signed-off-by: Egor Lazarchuk <yegorlz@amazon.co.uk>
Nested virtualization is now disabled and some cpu features/MSRs now
should be marked as host only.

These cpu features/MSRs are described the AMD reference manual at
"SVM Revision and Feature Identification" section.

Signed-off-by: Egor Lazarchuk <yegorlz@amazon.co.uk>
Now this MSR is host only and not available in the guest.
Check AMD reference manual at "SVM Revision and Feature Identification"
section for more information.

Signed-off-by: Egor Lazarchuk <yegorlz@amazon.co.uk>
The link we were using to download the Spectre/Meltdown checker script
stopped working and caused our CI to fail consistently.

Use this alternative link to download the script.

(cherry picked from commit e5b4f26)

Signed-off-by: Babis Chalios <bchalios@amazon.es>
Backport commit 8221464 from main.

New Amazon Linux host kernels enable mitigation against VMScape that is
IBPB before exit to userspace. However, our guest kernels still haven't
had the patches yet. Note that Intel Ice Lake is not affected by VMScape
as long as BHB clearing sequence is used to mitigate BHI.

Signed-off-by: Takahiro Itazuri <itazur@amazon.com>
An upstream patch was backported to ubuntu 24.04 6.8.0-58 kernel that
makes the nx hugepages recover thread a child of the firecracker
process, thus increasing process count to 7.
As we're not really interested in knowing how many threads we have in
this test, let's remove the assertion altogether.

Signed-off-by: Riccardo Mancini <mancio@amazon.com>
@ValentaTomas ValentaTomas deleted the smallpages-test branch February 25, 2026 06:20
bchalios added a commit that referenced this pull request May 19, 2026
Signed-off-by: Babis Chalios <babis.chalios@e2b.dev>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants