Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
74 commits
Select commit Hold shift + click to select a range
ba68188
vmm_tests: implementing underhill memory usage test and logging
dpaliulis-msft Sep 10, 2025
a01d180
Resolving vmm_test build warnings
dpaliulis-msft Sep 11, 2025
81e0c9a
Adjusting test logs to show memory usage statistics
dpaliulis-msft Sep 11, 2025
b2f875e
fixed SNP and GP x64 tests to use proper OS and adjusted derived traits
dpaliulis-msft Sep 12, 2025
30c1e20
adjusting macros for agent test
dpaliulis-msft Sep 12, 2025
1dd5d0e
restoring linux direct x64 test
dpaliulis-msft Sep 12, 2025
0c5f353
reducing VP count for GP test to investigate failed 64VP tests on GP …
dpaliulis-msft Sep 12, 2025
9428734
added 48VP test for GP VMs
dpaliulis-msft Sep 12, 2025
8c490af
changing GP x64 tests to use OpenVMM to avoid insufficient LP error o…
dpaliulis-msft Sep 12, 2025
b61e664
Combining idle tests to run with no agent
dpaliulis-msft Sep 12, 2025
b247927
resolving clippy errors and switching to linux direct for GP tests
dpaliulis-msft Sep 12, 2025
5f865e3
restoring 64VP GP test
dpaliulis-msft Sep 12, 2025
7da0c7c
trying extended timeout period for GP tests
dpaliulis-msft Sep 12, 2025
48e6a03
adding windows datacenter 2022 test on GP VMs with extended timeout
dpaliulis-msft Sep 12, 2025
573caf8
removing datacenter configuration from GP tests
dpaliulis-msft Sep 12, 2025
532f17d
extending timeout on CVM tests
dpaliulis-msft Sep 15, 2025
a748585
reverting to previous commit
dpaliulis-msft Sep 15, 2025
6874622
reset to previous commit
dpaliulis-msft Sep 15, 2025
2138af3
Adding 32 VP test and custom timeout extension for meminfo tests
dpaliulis-msft Sep 15, 2025
437cddf
comparing arm and CVM tests against baseline
dpaliulis-msft Sep 16, 2025
4801b1f
removing redundancies
dpaliulis-msft Sep 16, 2025
7570aab
resolving clippy errors
dpaliulis-msft Sep 16, 2025
e7ce8c1
asserting reservation and GP x64 tests
dpaliulis-msft Sep 16, 2025
bc0ced6
Merge branch 'main' into user/dpaliulis/vmm_tests-memory_validation
dpaliulis-msft Sep 17, 2025
1ae7d6a
adding error messages and modifying baseline threshold
dpaliulis-msft Sep 17, 2025
464a84f
adding assertion logging
dpaliulis-msft Sep 18, 2025
b4f0f8b
adjusted baseline constants
dpaliulis-msft Sep 18, 2025
2170467
adjusting baseline values
dpaliulis-msft Sep 18, 2025
eeccd17
refactoring memstat data collection
dpaliulis-msft Sep 18, 2025
a838114
addressing clippy errors
dpaliulis-msft Sep 18, 2025
0ea0f8c
tuning values
dpaliulis-msft Sep 22, 2025
56dea1f
Merge remote-tracking branch 'upstream/main' into user/dpaliulis/vmm_…
dpaliulis-msft Sep 22, 2025
cf8751d
Merge branch 'main' into user/dpaliulis/vmm_tests-memory_validation
dpaliulis-msft Sep 23, 2025
33d9187
moving memstat.rs to vmm_tests
dpaliulis-msft Sep 23, 2025
7341a6f
adjusting baseline values and names
dpaliulis-msft Sep 23, 2025
cb0dc2e
tuning baseline values
dpaliulis-msft Sep 24, 2025
23d8977
tuning baseline values
dpaliulis-msft Sep 24, 2025
fca7b6f
refactoring idle workload
dpaliulis-msft Sep 25, 2025
f3837b0
Merge branch 'main' into user/dpaliulis/vmm_tests-memory_validation
dpaliulis-msft Sep 25, 2025
ceaece8
cleaning implementation and naming
dpaliulis-msft Sep 25, 2025
6ce67ee
restricting memstat module to the current crate
dpaliulis-msft Sep 25, 2025
29f48dd
addressing feedback
dpaliulis-msft Sep 26, 2025
d1fecbc
addressing feedback
dpaliulis-msft Sep 26, 2025
7f44b07
using pal_async for test wait
dpaliulis-msft Sep 26, 2025
e82e317
refactoring idle test parameters
dpaliulis-msft Sep 26, 2025
d44b4d2
addressing feedback
dpaliulis-msft Sep 29, 2025
5b4cc85
making module private and reverting GP test to 2022
dpaliulis-msft Sep 29, 2025
735c350
Merge branch 'main' into user/dpaliulis/vmm_tests-memory_validation
dpaliulis-msft Sep 29, 2025
c770609
adding datacenter 2025 test artifact to GP tests
dpaliulis-msft Sep 30, 2025
5bbb66f
Merge branch 'main' into user/dpaliulis/vmm_tests-memory_validation
dpaliulis-msft Oct 1, 2025
7a99686
updating baselines
dpaliulis-msft Oct 1, 2025
3a58745
updating baselines and removing unused data
dpaliulis-msft Oct 1, 2025
6c5cd9e
updating baseline values
dpaliulis-msft Oct 1, 2025
be85591
merging with main and resolving conflicts
dpaliulis-msft Oct 1, 2025
db40f96
updating baseline values
dpaliulis-msft Oct 1, 2025
a772072
resolving clippy and unit test errors
dpaliulis-msft Oct 1, 2025
b751de9
updating baseline values
dpaliulis-msft Oct 1, 2025
587bdea
Merge branch 'main' into user/dpaliulis/vmm_tests-memory_validation
dpaliulis-msft Oct 2, 2025
84cf512
tuning baseline values
dpaliulis-msft Oct 2, 2025
34081db
Merge branch 'main' into user/dpaliulis/vmm_tests-memory_validation
dpaliulis-msft Oct 3, 2025
2c0128d
Merge branch 'main' into user/dpaliulis/vmm_tests-memory_validation
dpaliulis-msft Oct 3, 2025
8c10f47
Merge branch 'main' into user/dpaliulis/vmm_tests-memory_validation
dpaliulis-msft Oct 3, 2025
293c0c5
reverting to previous threshold value for GP anonymous memory
dpaliulis-msft Oct 3, 2025
73e6cfc
Merge remote-tracking branch 'upstream/main' into user/dpaliulis/vmm_…
dpaliulis-msft Oct 3, 2025
c0a1d5b
removing unused deps
dpaliulis-msft Oct 3, 2025
6723a79
Merge branch 'main' into user/dpaliulis/vmm_tests-memory_validation
dpaliulis-msft Oct 3, 2025
1c574a2
using supplied vmm test driver for idle wait
dpaliulis-msft Oct 3, 2025
47049ce
Merge branch 'main' into user/dpaliulis/vmm_tests-memory_validation
dpaliulis-msft Oct 3, 2025
3e20b44
changing resolver and driver parameters to references
dpaliulis-msft Oct 3, 2025
e9a438f
removing ArtifactResolver parameter
dpaliulis-msft Oct 3, 2025
971eac8
setting artifact resolver to specify openhcl IGVM
dpaliulis-msft Oct 3, 2025
a8ae017
setting second parameter to generic tuple
dpaliulis-msft Oct 3, 2025
8f52d32
Merge branch 'main' into user/dpaliulis/vmm_tests-memory_validation
dpaliulis-msft Oct 3, 2025
3167fa0
Merge branch 'main' into user/dpaliulis/vmm_tests-memory_validation
dpaliulis-msft Oct 6, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions Cargo.lock
Original file line number Diff line number Diff line change
Expand Up @@ -9287,7 +9287,10 @@ dependencies = [
"petri_artifact_resolver_openvmm_known_paths",
"petri_artifacts_common",
"petri_artifacts_vmm_test",
"pipette_client",
"scsidisk_resources",
"serde",
"serde_json",
"storvsp_resources",
"tempfile",
"tmk_tests",
Expand Down
1 change: 1 addition & 0 deletions flowey/flowey_hvlite/src/pipelines/checkin_gates.rs
Original file line number Diff line number Diff line change
Expand Up @@ -910,6 +910,7 @@ impl IntoPipeline for CheckinGatesCli {
KnownTestArtifacts::FreeBsd13_2X64Iso,
KnownTestArtifacts::Gen1WindowsDataCenterCore2022X64Vhd,
KnownTestArtifacts::Gen2WindowsDataCenterCore2022X64Vhd,
KnownTestArtifacts::Gen2WindowsDataCenterCore2025X64Vhd,
KnownTestArtifacts::Ubuntu2204ServerX64Vhd,
KnownTestArtifacts::VmgsWithBootEntry,
];
Expand Down
10 changes: 10 additions & 0 deletions petri/src/vm/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -642,6 +642,16 @@ impl<T: PetriVmmBackend> PetriVmBuilder<T> {
self.config.firmware.is_openhcl()
}

/// Get the isolation type of the VM
pub fn isolation(&self) -> Option<IsolationType> {
self.config.firmware.isolation()
}

/// Get the machine architecture
pub fn arch(&self) -> MachineArch {
self.config.arch
}

/// Get the backend-specific config builder
pub fn modify_backend(
mut self,
Expand Down
3 changes: 3 additions & 0 deletions vmm_tests/vmm_tests/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,9 @@ hvlite_ttrpc_vmservice.workspace = true
mesh_rpc.workspace = true

tempfile.workspace = true
serde_json.workspace = true
pipette_client.workspace = true
serde.workspace = true

[lints]
workspace = true
334 changes: 334 additions & 0 deletions vmm_tests/vmm_tests/test_data/memstat_baseline.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,334 @@
{
"aarch64": {
"vtl2_total": 524288,
"2vp": {
"usage": {
"base": 59510,
"threshold": 150
},
"reservation": {
"base": 18360,
"threshold": 0
},
"underhill_init": {
"Pss": {
"base": 1171,
"threshold": 150
},
"Pss_Anon": {
"base": 290,
"threshold": 150
}
},
"openvmm_hcl": {
"Pss": {
"base": 10775,
"threshold": 150
},
"Pss_Anon": {
"base": 1388,
"threshold": 150
}
},
"underhill_vm": {
"Pss": {
"base": 21567,
"threshold": 150
},
"Pss_Anon": {
"base": 4734,
"threshold": 150
}
}
},
"64vp": {
"usage": {
"base": 118732,
"threshold": 1000
},
"reservation": {
"base": 23884,
"threshold": 0
},
"underhill_init": {
"Pss": {
"base": 1173,
"threshold": 150
},
"Pss_Anon": {
"base": 3760,
"threshold": 150
}
},
"openvmm_hcl": {
"Pss": {
"base": 10757,
"threshold": 150
},
"Pss_Anon": {
"base": 1370,
"threshold": 150
}
},
"underhill_vm": {
"Pss": {
"base": 36105,
"threshold": 1000
},
"Pss_Anon": {
"base": 16976,
"threshold": 1000
}
}
}
},
"gp-x64": {
"vtl2_total": 524288,
"2vp": {
"usage": {
"base": 231334,
"threshold": 500
},
"reservation": {
"base": 17664,
"threshold": 0
},
"underhill_init": {
"Pss": {
"base": 4553,
"threshold": 150
},
"Pss_Anon": {
"base": 3767,
"threshold": 150
}
},
"openvmm_hcl": {
"Pss": {
"base": 15097,
"threshold": 150
},
"Pss_Anon": {
"base": 4824,
"threshold": 150
}
},
"underhill_vm": {
"Pss": {
"base": 29054,
"threshold": 500
},
"Pss_Anon": {
"base": 8951,
"threshold": 250
}
}
},
"32vp": {
"usage": {
"base": 254748,
"threshold": 1000
},
"reservation": {
"base": 24660,
"threshold": 0
},
"underhill_init": {
"Pss": {
"base": 4543,
"threshold": 150
},
"Pss_Anon": {
"base": 3767,
"threshold": 150
}
},
"openvmm_hcl": {
"Pss": {
"base": 15170,
"threshold": 150
},
"Pss_Anon": {
"base": 4811,
"threshold": 150
}
},
"underhill_vm": {
"Pss": {
"base": 37262,
"threshold": 1000
},
"Pss_Anon": {
"base": 16628,
"threshold": 1000
}
}
}
},
"intel-tdx": {
"vtl2_total": 655360,
"2vp": {
"usage": {
"base": 231175,
"threshold": 150
},
"reservation": {
"base": 28952,
"threshold": 0
},
"underhill_init": {
"Pss": {
"base": 4525,
"threshold": 150
},
"Pss_Anon": {
"base": 3760,
"threshold": 150
}
},
"openvmm_hcl": {
"Pss": {
"base": 14940,
"threshold": 150
},
"Pss_Anon": {
"base": 4774,
"threshold": 150
}
},
"underhill_vm": {
"Pss": {
"base": 29554,
"threshold": 500
},
"Pss_Anon": {
"base": 9312,
"threshold": 250
}
}
},
"64vp": {
"usage": {
"base": 307455,
"threshold": 1500
},
"reservation": {
"base": 41676,
"threshold": 0
},
"underhill_init": {
"Pss": {
"base": 4530,
"threshold": 200
},
"Pss_Anon": {
"base": 3755,
"threshold": 150
}
},
"openvmm_hcl": {
"Pss": {
"base": 14933,
"threshold": 250
},
"Pss_Anon": {
"base": 4798,
"threshold": 150
}
},
"underhill_vm": {
"Pss": {
"base": 58375,
"threshold": 1500
},
"Pss_Anon": {
"base": 35983,
"threshold": 1500
}
}
}
},
"amd-snp": {
"vtl2_total": 655360,
"2vp": {
"usage": {
"base": 233704,
"threshold": 150
},
"reservation": {
"base": 28884,
"threshold": 0
},
"underhill_init": {
"Pss": {
"base": 4516,
"threshold": 150
},
"Pss_Anon": {
"base": 3760,
"threshold": 150
}
},
"openvmm_hcl": {
"Pss": {
"base": 15061,
"threshold": 150
},
"Pss_Anon": {
"base": 4799,
"threshold": 150
}
},
"underhill_vm": {
"Pss": {
"base": 31812,
"threshold": 500
},
"Pss_Anon": {
"base": 11730,
"threshold": 150
}
}
},
"64vp": {
"usage": {
"base": 310880,
"threshold": 1000
},
"reservation": {
"base": 42356,
"threshold": 0
},
"underhill_init": {
"Pss": {
"base": 4514,
"threshold": 150
},
"Pss_Anon": {
"base": 3759,
"threshold": 150
}
},
"openvmm_hcl": {
"Pss": {
"base": 14992,
"threshold": 150
},
"Pss_Anon": {
"base": 4787,
"threshold": 150
}
},
"underhill_vm": {
"Pss": {
"base": 57297,
"threshold": 1000
},
"Pss_Anon": {
"base": 34598,
"threshold": 1000
}
}
}
}
}
Loading