Heuristic-based scratch zeroing strategy for snapshot restore
I maintainer di solito rispondono entro 2 giorni
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 45/100
- Tipo di issue
- Refactoring
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- rust
- Ambito
- infrastructure, performance
Direzione di ricerca
Inizia da HostSharedMemory::zero_or_replace() e leggi il contesto in #1765. Esegui un benchmark di zero-in-place rispetto a delete-and-recreate su KVM, MSHV e WHP, variando le dimensioni delle regioni scratch e la disponibilità di MADV_DONTNEED. Il lavoro è completato quando il controllo Windows a tempo di compilazione viene sostituito da un'euristica basata sulle dimensioni che apporti vantaggi anche alle regioni scratch di grandi dimensioni nelle build Linux di MSHV.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
HostSharedMemory::zero_or_replace() currently uses a compile-time #[cfg(target_os = "windows")] check to decide whether to zero scratch in-place or replace it with a fresh demand-zero allocation. This works for the immediate problem (large scratch regions on WHP), but the real decision depends on the hypervisor and the size of the region, not just the platform.
There is a break-even point between zero-in-place (via MADV_DONTNEED or fill(0)) and delete+recreate (fresh ExclusiveSharedMemory::new) that varies by:
- Hypervisor (KVM, MSHV, WHP)
- Scratch region size
- Whether
MADV_DONTNEEDis available (KVM-only builds vs KVM+mshv3)
We should benchmark across these configurations and replace the compile-time platform check with a size-based heuristic. This would also allow MSHV builds on Linux to benefit from the fresh-allocation path for large scratch regions.
Ref: #1765
- Lingua principale
- Rust
- Stelle
- 4.7k
- Fork
- 214
- Merge medio
- 2g 21h
- PR unite (30g)
- 33
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di hyperlight-dev/hyperlight
-
lifecycle/needs-review
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
hyperlight-dev/hyperlight#1842 ·
I maintainer di solito rispondono entro 2 giorni
-
lifecycle/needs-review
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
hyperlight-dev/hyperlight#1836 ·
I maintainer di solito rispondono entro 2 giorni
-
lifecycle/needs-review
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
hyperlight-dev/hyperlight#1804 ·
I maintainer di solito rispondono entro 2 giorni
-
lifecycle/needs-review
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
hyperlight-dev/hyperlight#1787 ·
I maintainer di solito rispondono entro 2 giorni
-
lifecycle/confirmed
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
hyperlight-dev/hyperlight#1700 ·
I maintainer di solito rispondono entro 2 giorni
Tutte le issue di hyperlight-dev/hyperlight
Issue simili
-
`categorize_command` has no `uv` arm, so every `rtk uv …` row counts as `other` in the ecosystem mixApertaarea:api bug good first issue priority:low
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
rtk-ai/rtk#4316 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 92/100
I maintainer di solito rispondono entro 1 giorno
-
area/cli kind/bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 90/100
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
-
good first issue open-endedness: low type: new feature
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100