Repository navigation
Conversation
Signed-off-by: Ludvig Liljenberg <4257730+ludfjig@users.noreply.github.com>
There was a problem hiding this comment.
🟡 Changes recommended
The proposal leaves handling of events larger than 4 KiB undefined and omits the snapshot ABI bump and regeneration requirements needed to prevent incompatible snapshots from being resumed.
2 open issues
What changed in this PR
HIP 0008 proposes replacing FlatBuffers with serde and postcard for Hyperlight’s host-guest control messages. This PR contains the design proposal only, not an implementation.
Changes:
- Defines message types, a control-data length field, and trace batching while preserving external byte payloads.
- Describes removing FlatBuffers tooling and generated code.
- Presents preliminary performance results, drawbacks, and alternatives.
| File | Description |
|---|---|
proposals/0008-postcard-serialization/README.md |
Documents the serialization proposal, wire format, benchmarks, and tradeoffs. |
Review effort: Balanced
andreiltd
left a comment
There was a problem hiding this comment.
That was an easy read. Postcard seems like a good candidate for the wire format. IIUC the proposal keeps byte payloads outside the control plane using external bytes, so serialization/deserialization performance isn't much of a concern, as all control messages are expected to be relatively small.
I wonder if you considered the timing for landing this work and fixing: #1987 ?
|
|
||
| A postcard value marks its own end, but the host must copy control data out | ||
| of guest memory before it parses it. It needs the length to copy exactly the | ||
| control data in one read. Without it, the host would have to read guest memory |
There was a problem hiding this comment.
who controls this length?
|
|
||
| | Benchmark | KVM | MSHV | | ||
| |---|---|---| | ||
| | Guest call | about −5% | −10% to −18% | |
There was a problem hiding this comment.
is this an improvement or regression?
jsturtevant
left a comment
There was a problem hiding this comment.
couple questions but I like the motivation section, helps understand why we would want to do this!

Rendered