Skip to content

Guest Copy on Write #1200

@jsturtevant

Description

@jsturtevant

Tracking issues Guest Copy on Write.

Brief design overview

When running on a Type 1 hypervisor, servicing a Stage 2 translation
page fault is relatively quite expensive, since it requires quite a
lot of context switches. To help alleviate this, Hyperlight will use a
design in which the guest is aware of readonly snapshot from
which it is being run, and manages its own copy-on-write.

Because of this, there are two very fundamental regions of the guest
physical address space, which are always populated: one, at the very
bottom of memory, is a (hypervisor-enforced) readonly mapping of the
base snapshot from which this guest is being evolved. Another, at the
top of memory, is simply a large bag of blank pages: scratch memory
into which this VM can write.

See more in the proposal at 3d59400

TODO:

POC on older branch: main...lm/guest-cow
old PR that tracked things: #1091

This is particularly improtant for Hyperlight-wasm. There are steps to leverage this there:

  • update to take these changes
  • more to tbd

Metadata

Metadata

Assignees

Labels

lifecycle/confirmedBug is verified or proposal seems reasonable

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions