firecracker icon indicating copy to clipboard operation
firecracker copied to clipboard

Restore resource allocators from snapshot

Open Manciukic opened this issue 7 months ago • 2 comments

What

Currently the ResourceAllocator is not restored from the snapshot, but its state is rebuilt by replaying allocations with ExactMatch (example).

Why

The current pattern for restoring the state is cumbersome and prone to error. For example, acpi and mptable allocations in the system memory are not replayed, meaning that the allocator state would be different after restore. It works fine for now because we don't allow for changing state after restore, but new features may be impacted by this, like hotplugging.

How

We should serialize its state in the snapshot, as proposed in https://github.com/rust-vmm/vm-allocator/pull/40, and remove the replayed ExactMatch allocations.

Additional Details

  • https://github.com/firecracker-microvm/firecracker/pull/5139#discussion_r2059965612

Manciukic avatar Apr 25 '25 10:04 Manciukic