-
Notifications
You must be signed in to change notification settings - Fork 161
vmm_tests: default to nvme keepalive, and adjust the many-devices test to better accomodate private pool #2401
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
Merged
Merged
Changes from all commits
Commits
Show all changes
13 commits
Select commit
Hold shift + click to select a range
3e38e0c
nvme_driver: format nvme errors to be more verbose
mattkur 8febd93
openvmm_entry: cmdline to enable nvme keepalive when running servicing
mattkur dbb1cf2
wip: turn on keepalive for the many devices servicing test
mattkur 344110d
Merge branch 'main' into nvme-more-obvious-error-codes
mattkur 3f312e1
minor self / copilot pr feedback
mattkur b5bf35d
Merge branch 'main' into more-ka-test
mattkur 4ad78e2
Merge branch 'nvme-more-obvious-error-codes' into more-ka-test
mattkur 52d8d3b
turn on keepalive by default
mattkur 0d863a2
move deciding on default flags to the backend, since its the backend …
mattkur 849405d
oops
mattkur 5f3d6bf
Merge branch 'main' into more-ka-test
mattkur 0a45c64
Merge branch 'main' into more-ka-test
mattkur 4d36746
don't set override
mattkur File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -154,6 +154,9 @@ pub trait PetriVmmBackend { | |
| /// Select backend specific quirks guest and vmm quirks. | ||
| fn quirks(firmware: &Firmware) -> (GuestQuirksInner, VmmQuirks); | ||
|
|
||
| /// Get the default servicing flags (based on what this backend supports) | ||
| fn default_servicing_flags() -> OpenHclServicingFlags; | ||
|
Comment on lines
+157
to
+158
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @tjones60 does this look like the right way to get some per-backend defaults? |
||
|
|
||
| /// Resolve any artifacts needed to use this backend | ||
| fn new(resolver: &ArtifactResolver<'_>) -> Self; | ||
|
|
||
|
|
@@ -698,6 +701,11 @@ impl<T: PetriVmmBackend> PetriVmBuilder<T> { | |
| self.config.arch | ||
| } | ||
|
|
||
| /// Get the default OpenHCL servicing flags for this config | ||
| pub fn default_servicing_flags(&self) -> OpenHclServicingFlags { | ||
| T::default_servicing_flags() | ||
| } | ||
|
|
||
| /// Get the backend-specific config builder | ||
| pub fn modify_backend( | ||
| mut self, | ||
|
|
@@ -1729,9 +1737,10 @@ pub enum IsolationType { | |
| } | ||
|
|
||
| /// Flags controlling servicing behavior. | ||
| #[derive(Default, Debug, Clone, Copy)] | ||
| #[derive(Debug, Clone, Copy)] | ||
| pub struct OpenHclServicingFlags { | ||
| /// Preserve DMA memory for NVMe devices if supported. | ||
| /// Defaults to `true`. | ||
| pub enable_nvme_keepalive: bool, | ||
| /// Skip any logic that the vmm may have to ignore servicing updates if the supplied igvm file version is not different than the one currently running. | ||
| pub override_version_checks: bool, | ||
|
|
||
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -19,6 +19,7 @@ pub use runtime::PetriVmOpenVmm; | |
|
|
||
| use crate::BootDeviceType; | ||
| use crate::Firmware; | ||
| use crate::OpenHclServicingFlags; | ||
| use crate::PetriDiskType; | ||
| use crate::PetriLogFile; | ||
| use crate::PetriVmConfig; | ||
|
|
@@ -112,6 +113,14 @@ impl PetriVmmBackend for OpenVmmPetriBackend { | |
| ) | ||
| } | ||
|
|
||
| fn default_servicing_flags() -> OpenHclServicingFlags { | ||
| OpenHclServicingFlags { | ||
| enable_nvme_keepalive: true, | ||
| override_version_checks: false, | ||
| stop_timeout_hint_secs: None, | ||
| } | ||
|
Comment on lines
+117
to
+121
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. |
||
| } | ||
|
|
||
| fn new(resolver: &ArtifactResolver<'_>) -> Self { | ||
| OpenVmmPetriBackend { | ||
| openvmm_path: resolver | ||
|
|
||
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
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
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.
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.
How much work is needed for this support?
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.
I don't know. I remember adding this check, but I don't quite know the delta. I will certainly be digging into this soon-ish.