Rebase hyperlight dep onto upstream main#98
Conversation
There was a problem hiding this comment.
Pull request overview
This PR updates the hyperlight-host dependency to a rebased upstream branch (hyperlight-dev/hyperlight hyperlight-unikraft) and adjusts host code to match the updated upstream API, keeping this repository aligned with current Hyperlight main while retaining required non-upstream features.
Changes:
- Switched
hyperlight-hostdependency from a pinned commit on a fork to thehyperlight-dev/hyperlighthyperlight-unikraftbranch. - Updated
map_file_cowcall sites to the new 2-argument signature (label removed). - Refreshed
Cargo.lockto reflect the rebased dependency graph (including updated transitive crate versions).
Reviewed changes
Copilot reviewed 2 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
host/src/lib.rs |
Updates map_file_cow usage to match upstream API changes. |
host/Cargo.toml |
Points hyperlight-host at the rebased upstream hyperlight-unikraft branch. |
host/Cargo.lock |
Updates locked git source and transitive dependency versions from the rebase. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Linux Benchmarks
Details
| Benchmark suite | Current: 62b54cd | Previous: 4460ae2 | Ratio |
|---|---|---|---|
hello_world (median) |
20 ms |
20 ms |
1 |
pandas (median) |
110 ms |
110 ms |
1 |
density (per VM) |
8 MB |
11 MB |
0.73 |
snapshot (disk) |
653 MiB |
656 MiB |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
Windows Benchmarks
Details
| Benchmark suite | Current: 62b54cd | Previous: 4460ae2 | Ratio |
|---|---|---|---|
hello_world (median) |
145 ms |
301 ms |
0.48 |
pandas (median) |
418 ms |
768 ms |
0.54 |
density (per VM) |
328 MB |
656 MB |
0.50 |
snapshot (disk) |
654 MiB |
664 MiB |
0.98 |
This comment was automatically generated by workflow using github-action-benchmark.
f5ede83 to
21b8caa
Compare
- Point hyperlight-host at danbugs/hyperlight hyperlight-unikraft branch (upstream main + whp-no-surrogate + zero-page dedup) - Adapt snapshot persistence to upstream OCI format (directory-based) - Re-map initrd via map_file_cow after every restore() since file mappings are separate hypervisor memory regions not in the snapshot - Reduce pyhl heap from 2560 MiB to 1280 MiB (minimum for Python warmup with pandas+docx); combined with zero-page dedup this shrinks snapshots from ~3 GiB to ~654 MiB - Remove sparsify_snapshot code (was file-format specific) - Remove memmap2 and extra windows-sys features (no longer needed) - Update snapshot path references from file to directory in CI, tests, and examples Signed-off-by: danbugs <danilochiarlone@gmail.com>
21b8caa to
62b54cd
Compare
|
Superseded by the runtime approach in hyperlight-dev/hyperlight#1578 |
Summary
hyperlight-hostdependency fromdanbugs/hyperlight(pinned rev on stale fork) tohyperlight-dev/hyperlightbranchhyperlight-unikraft, which is rebased on current upstreammainmap_file_cowcalls to the new upstream 2-arg signature (label parameter was removed)hyperlight-unikraftbranch in hyperlight core carries the non-upstreamed features this repo needs: whp-no-surrogate mode,restore_preserving_file_mappings, and the snapshot file format (to_file/from_fileforpyhl)Test plan
cargo fmt --checkpassescargo clippy -D warningspassescargo test --all-targets— 3/3 tests passpyhl setupcreates snapshot successfullypyhl runloads snapshot and executes Python (numpy import verified)