Skip to content

Commit

Permalink
Merge branch 'main-live-migration-pvm' into main-live-migration
Browse files Browse the repository at this point in the history
  • Loading branch information
pojntfx committed Feb 4, 2025
2 parents fbbb92c + 56c0282 commit 5974b3b
Show file tree
Hide file tree
Showing 117 changed files with 2,727 additions and 5,763 deletions.
3 changes: 2 additions & 1 deletion .buildkite/common.py
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,8 @@ def __call__(self, parser, namespace, value, option_string=None):
res = getattr(namespace, self.dest, {})
key_str, val = value.split("=", maxsplit=1)
keys = key_str.split("/")
update = {keys[-1]: ast.literal_eval(val)}
# Interpret it as a literal iff it starts like one
update = {keys[-1]: ast.literal_eval(val) if val[0] in "[{'" else val}
for key in list(reversed(keys))[1:]:
update = {key: update}
res = overlay_dict(res, update)
Expand Down
2 changes: 1 addition & 1 deletion .buildkite/pipeline_cross.py
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@
f"buildkite-agent artifact download snapshots/{src_instance}_{src_kv}.tar .",
f"tar xSvf snapshots/{src_instance}_{src_kv}.tar",
*pipeline.devtool_test(
pytest_opts=f"-m nonci -n4 {k_val} integration_tests/functional/test_snapshot_restore_cross_kernel.py",
pytest_opts=f"-m nonci -n8 --dist worksteal {k_val} integration_tests/functional/test_snapshot_restore_cross_kernel.py",
),
],
"label": f"🎬 {src_instance} {src_kv} ➡️ {dst_instance} {dst_kv}",
Expand Down
7 changes: 1 addition & 6 deletions .buildkite/pipeline_perf.py
Original file line number Diff line number Diff line change
Expand Up @@ -121,12 +121,7 @@
# }
# will pin steps running on instances "m6i.metal" with kernel version tagged "linux_6.1"
# to a new kernel version tagged "linux_6.1-pinned"
pins = {
# TODO: Unpin when performance instability on m6i/5.10 has gone.
"linux_5.10-pinned": {"instance": "m6i.metal", "kv": "linux_5.10"},
# TODO: Unpin when performance instability on m6i/6.1 has gone.
"linux_6.1-pinned": {"instance": "m6i.metal", "kv": "linux_6.1"},
}
pins = {}


def apply_pins(steps):
Expand Down
2 changes: 1 addition & 1 deletion .buildkite/pipeline_pr.py
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@
pipeline.build_group(
"⚙ Functional and security 🔒",
pipeline.devtool_test(
pytest_opts="-n 8 --dist worksteal integration_tests/{{functional,security}}",
pytest_opts="-n 16 --dist worksteal integration_tests/{{functional,security}}",
),
)

Expand Down
27 changes: 26 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,22 @@ and this project adheres to

### Added

- [#4987](https://github.com/firecracker-microvm/firecracker/pull/4987): Reset
physical counter register (`CNTPCT_EL0`) on VM startup. This avoids VM reading
the host physical counter value. This is only possible on 6.4 and newer
kernels. For older kernels physical counter will still be passed to the guest
unmodified. See more info
[here](https://github.com/firecracker-microvm/firecracker/blob/main/docs/prod-host-setup.md#arm-only-vm-physical-counter-behaviour)

### Changed

- [#4913](https://github.com/firecracker-microvm/firecracker/pull/4913): Removed
unnecessary fields (`max_connections` and `max_pending_resets`) from the
snapshot format, bumping the snapshot version to 5.0.0. Users need to
regenerate snapshots.
- [#4926](https://github.com/firecracker-microvm/firecracker/pull/4926): Replace
underlying implementation for seccompiler from in house one in favor of
`libseccomp` which produces smaller and more optimized BPF code.

### Deprecated

Expand All @@ -25,6 +35,20 @@ and this project adheres to

- [#4921](https://github.com/firecracker-microvm/firecracker/pull/4921): Fixed
swagger `CpuConfig` definition to include missing aarch64-specific fields.
- [#4916](https://github.com/firecracker-microvm/firecracker/pull/4916): Fixed
`IovDeque` implementation to work with any host page size. This fixes
virtio-net device on non 4K host kernels.
- [#4991](https://github.com/firecracker-microvm/firecracker/pull/4991): Fixed
`mem_size_mib` and `track_dirty_pages` being mandatory for all
`PATCH /machine-config` requests. Now, they can be omitted which leaves these
parts of the machine configuration unchanged.
- [#5007](https://github.com/firecracker-microvm/firecracker/pull/5007): Fixed
watchdog softlockup warning on x86_64 guests when a vCPU is paused during GDB
debugging.
- [#5021](https://github.com/firecracker-microvm/firecracker/pull/5021) If a
balloon device is inflated post UFFD-backed snapshot restore, Firecracker now
causes `remove` UFFD messages to be sent to the UFFD handler. Previously, no
such message would be sent.

## [1.10.1]

Expand Down Expand Up @@ -98,7 +122,8 @@ and this project adheres to
VMGenID support for microVMs running on ARM hosts with 6.1 guest kernels.
Support for VMGenID via DeviceTree bindings exists only on mainline 6.10 Linux
onwards. Users of Firecracker will need to backport the relevant patches on
top of their 6.1 kernels to make use of the feature.
top of their 6.1 kernels to make use of the feature. As a result, Firecracker
snapshot version is now 3.0.0
- [#4732](https://github.com/firecracker-microvm/firecracker/pull/4732),
[#4733](https://github.com/firecracker-microvm/firecracker/pull/4733),
[#4741](https://github.com/firecracker-microvm/firecracker/pull/4741),
Expand Down
Loading

0 comments on commit 5974b3b

Please sign in to comment.