Skip to content

Commit 77ab3fd

Browse files
committed
test: Also emit post-restore latency metrics for huge pages
Runs the new test_post_restore_latency test also for hugepages-backed VMs Signed-off-by: Patrick Roy <[email protected]>
1 parent ab8df46 commit 77ab3fd

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

tests/integration_tests/performance/test_snapshot_ab.py

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
import pytest
1111

1212
import host_tools.drive as drive_tools
13-
from framework.microvm import Microvm
13+
from framework.microvm import HugePagesConfig, Microvm
1414

1515
USEC_IN_MSEC = 1000
1616
NS_IN_MSEC = 1_000_000
@@ -36,6 +36,7 @@ class SnapshotRestoreTest:
3636
nets: int = 3
3737
blocks: int = 3
3838
all_devices: bool = False
39+
huge_pages: HugePagesConfig = HugePagesConfig.NONE
3940

4041
@property
4142
def id(self):
@@ -55,6 +56,7 @@ def configure_vm(self, microvm_factory, guest_kernel, rootfs, metrics) -> Microv
5556
vcpu_count=self.vcpus,
5657
mem_size_mib=self.mem,
5758
rootfs_io_engine="Sync",
59+
huge_pages=self.huge_pages,
5860
)
5961

6062
for _ in range(self.nets):
@@ -134,11 +136,15 @@ def test_restore_latency(
134136

135137
@pytest.mark.nonci
136138
@pytest.mark.parametrize("uffd_handler", [None, "valid"])
139+
@pytest.mark.parametrize("huge_pages", HugePagesConfig)
137140
def test_post_restore_latency(
138-
microvm_factory, rootfs, guest_kernel_linux_5_10, metrics, uffd_handler
141+
microvm_factory, rootfs, guest_kernel_linux_5_10, metrics, uffd_handler, huge_pages
139142
):
140143
"""Collects latency metric of post-restore memory accesses done inside the guest"""
141-
test_setup = SnapshotRestoreTest(mem=1024, vcpus=2)
144+
if huge_pages != HugePagesConfig.NONE and uffd_handler is None:
145+
pytest.skip("huge page snapshots can only be restored using uffd")
146+
147+
test_setup = SnapshotRestoreTest(mem=1024, vcpus=2, huge_pages=huge_pages)
142148
vm = test_setup.configure_vm(
143149
microvm_factory, guest_kernel_linux_5_10, rootfs, metrics
144150
)

0 commit comments

Comments
 (0)