Skip to content

Commit 899c677

Browse files
pb8owearyzen
authored andcommitted
ci: replace instance m5d with instances c5n and m5n
c5n allows us to get a Skylake CPU consistently m5n allows us to get a Cascade Lake CPU consistently Update Skylake fingerprint baseline as the Skylake CPU used in c5n is slightly different. The changes are: CPUID.(EAX=04H,ECX=3):ECX is "Number of Sets" of "Deterministic Cache". CPUID.80000003H is "Processor Branch String", which makes sense since the model string differs by 2 characters. Signed-off-by: Pablo Barbáchano <pablob@amazon.com>
1 parent 4b03f0d commit 899c677

File tree

8 files changed

+33
-36
lines changed

8 files changed

+33
-36
lines changed

.buildkite/common.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,12 @@
1111
from pathlib import Path
1212

1313
DEFAULT_INSTANCES = [
14-
"m5d.metal",
15-
"m6i.metal",
16-
"m6a.metal",
17-
"m6g.metal",
18-
"m7g.metal",
14+
"c5n.metal", # Intel Skylake
15+
"m5n.metal", # Intel Cascade Lake
16+
"m6i.metal", # Intel Icelake
17+
"m6a.metal", # AMD Milan
18+
"m6g.metal", # Graviton2
19+
"m7g.metal", # Graviton3
1920
]
2021

2122
DEFAULT_PLATFORMS = [

.buildkite/pipeline_cpu_template.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ class BkStep(str, Enum):
2727
"tools/devtool -y test -- -s -ra -m nonci -n4 --log-cli-level=INFO integration_tests/functional/test_cpu_features.py -k 'test_cpu_rdmsr' "
2828
],
2929
BkStep.LABEL: "📖 rdmsr",
30-
"instances": ["m5d.metal", "m6a.metal", "m6i.metal"],
30+
"instances": ["c5n.metal", "m5n.metal", "m6a.metal", "m6i.metal"],
3131
"platforms": DEFAULT_PLATFORMS,
3232
},
3333
"cpuid_wrmsr": {
@@ -51,10 +51,11 @@ class BkStep(str, Enum):
5151
BkStep.TIMEOUT: 30,
5252
},
5353
"cross_instances": {
54-
"m5d.metal": ["m6i.metal"],
55-
"m6i.metal": ["m5d.metal"],
54+
"m5n.metal": ["c5n.metal", "m6i.metal"],
55+
"c5n.metal": ["m5n.metal", "m6i.metal"],
56+
"m6i.metal": ["m5n.metal", "c5n.metal"],
5657
},
57-
"instances": ["m5d.metal", "m6i.metal", "m6a.metal"],
58+
"instances": ["c5n.metal", "m5n.metal", "m6i.metal", "m6a.metal"],
5859
},
5960
"fingerprint": {
6061
BkStep.COMMAND: [

.buildkite/pipeline_cross.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@
1717
def restore_step(label, src_instance, src_kv, dst_instance, dst_os, dst_kv):
1818
"""Generate a restore step"""
1919
pytest_keyword_for_instance = {
20-
"m5d.metal": "-k 'not None'",
20+
"c5n.metal": "-k 'not None'",
21+
"m5n.metal": "-k 'not None'",
2122
"m6i.metal": "-k 'not None'",
2223
"m6a.metal": "",
2324
}
@@ -36,7 +37,7 @@ def restore_step(label, src_instance, src_kv, dst_instance, dst_os, dst_kv):
3637

3738
def cross_steps():
3839
"""Generate group steps"""
39-
snap_instances = ["m5d.metal", "m6i.metal", "m6a.metal"]
40+
snap_instances = ["c5n.metal", "m5n.metal", "m6i.metal", "m6a.metal"]
4041
groups = []
4142
commands = [
4243
"./tools/devtool -y sh ./tools/create_snapshot_artifact/main.py",
@@ -59,11 +60,12 @@ def cross_steps():
5960
# allow-list of what instances can be restores on what other instances (in
6061
# addition to itself)
6162
supported = {
62-
"m5d.metal": ["m6i.metal"],
63-
"m6i.metal": ["m5d.metal"],
63+
"c5n.metal": ["m5n.metal", "m6i.metal"],
64+
"m5n.metal": ["c5n.metal", "m6i.metal"],
65+
"m6i.metal": ["c5n.metal", "m5n.metal"],
6466
}
6567

66-
instances_x86_64 = ["m5d.metal", "m6i.metal", "m6a.metal"]
68+
instances_x86_64 = ["c5n.metal", "m5n.metal", "m6i.metal", "m6a.metal"]
6769
# https://github.com/firecracker-microvm/firecracker/blob/main/docs/kernel-policy.md#experimental-snapshot-compatibility-across-kernel-versions
6870
# We currently have nothing for aarch64
6971
perms_aarch64 = []

README.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -132,9 +132,10 @@ We test all combinations of:
132132

133133
| Instance | Host OS & Kernel | Guest Rootfs | Guest Kernel |
134134
|:----------|:------------------|:-------------|:-------------|
135-
| m5d.metal | al2 linux_4.14 | ubuntu 22.04 | linux_4.14 |
136-
| m6i.metal | al2 linux_5.10 | | linux_5.10 |
137-
| m6a.metal | al2023 linux_6.1 | | |
135+
| c5n.metal | al2 linux_4.14 | ubuntu 22.04 | linux_4.14 |
136+
| m5n.metal | al2 linux_5.10 | | linux_5.10 |
137+
| m6i.metal | al2023 linux_6.1 | | |
138+
| m6a.metal | | | |
138139
| m6g.metal | | | |
139140
| m7g.metal | | | |
140141

docs/snapshotting/snapshot-support.md

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -106,16 +106,8 @@ process will be terminated.
106106
### Performance
107107

108108
The Firecracker snapshot create/resume performance depends on the memory size,
109-
vCPU count and emulated devices count.
110-
The Firecracker CI runs snapshot tests on:
111-
112-
- AWS **m5d.metal** and **m6i.metal** instances for Intel
113-
- AWS **m6g.metal** and **c7g.metal** for ARM
114-
- AWS **m6a.metal** for AMD
115-
116-
We are running nightly performance tests for all the enumerated platforms on
117-
all supported kernel versions.
118-
The baselines can be found in their [respective config file](../../tests/integration_tests/performance/configs/).
109+
vCPU count and emulated devices count. The Firecracker CI runs snapshot tests on
110+
all [supported platforms](../../README.md#tested-platforms).
119111

120112
### Developer preview status
121113

tests/data/cpu_template_helper/fingerprint_INTEL_SKYLAKE_4.14host.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"firecracker_version": "1.7.0-dev",
3-
"kernel_version": "4.14.334-252.552.amzn2.x86_64",
3+
"kernel_version": "4.14.336-253.554.amzn2.x86_64",
44
"microcode_version": "0x2007006",
55
"bios_version": "1.0",
66
"bios_revision": "3.80",
@@ -183,7 +183,7 @@
183183
},
184184
{
185185
"register": "ecx",
186-
"bitmap": "0b00000000000000001011111111111111"
186+
"bitmap": "0b00000000000000001000111111111111"
187187
},
188188
{
189189
"register": "edx",
@@ -785,7 +785,7 @@
785785
},
786786
{
787787
"register": "edx",
788-
"bitmap": "0b00110101001011100011001000100000"
788+
"bitmap": "0b00110000001011100011001100100000"
789789
}
790790
]
791791
},

tests/data/cpu_template_helper/fingerprint_INTEL_SKYLAKE_5.10host.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"firecracker_version": "1.7.0-dev",
3-
"kernel_version": "5.10.205-195.804.amzn2.x86_64",
3+
"kernel_version": "5.10.205-195.807.amzn2.x86_64",
44
"microcode_version": "0x2007006",
55
"bios_version": "1.0",
66
"bios_revision": "3.80",
@@ -183,7 +183,7 @@
183183
},
184184
{
185185
"register": "ecx",
186-
"bitmap": "0b00000000000000001011111111111111"
186+
"bitmap": "0b00000000000000001000111111111111"
187187
},
188188
{
189189
"register": "edx",
@@ -969,7 +969,7 @@
969969
},
970970
{
971971
"register": "edx",
972-
"bitmap": "0b00110101001011100011001000100000"
972+
"bitmap": "0b00110000001011100011001100100000"
973973
}
974974
]
975975
},

tests/data/cpu_template_helper/fingerprint_INTEL_SKYLAKE_6.1host.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"firecracker_version": "1.7.0-dev",
3-
"kernel_version": "6.1.66-93.164.amzn2023.x86_64",
3+
"kernel_version": "6.1.72-96.166.amzn2023.x86_64",
44
"microcode_version": "0x2007006",
55
"bios_version": "1.0",
66
"bios_revision": "3.80",
@@ -183,7 +183,7 @@
183183
},
184184
{
185185
"register": "ecx",
186-
"bitmap": "0b00000000000000001011111111111111"
186+
"bitmap": "0b00000000000000001000111111111111"
187187
},
188188
{
189189
"register": "edx",
@@ -969,7 +969,7 @@
969969
},
970970
{
971971
"register": "edx",
972-
"bitmap": "0b00110101001011100011001000100000"
972+
"bitmap": "0b00110000001011100011001100100000"
973973
}
974974
]
975975
},

0 commit comments

Comments
 (0)