Zero-Overhead Virtualisation: It's a Trap!
summary
Linux-based static-partition hypervisor Jailhouse aims for zero traps by dedicating CPUs, memory and devices instead of sharing; implementation is ~7000 lines on 32-bit ARM. Ports exist for ARM, x86 and RISC‑V but platforms force traps for sub‑paging, interrupt remapping, SBI/PSCIs and interrupt-controller emulation. Microbenchmarks (IPI round‑trip, IRQ emulation, timers) run millions of iterations to produce latency histograms that quantify added delays; a flying microcopter demonstrator shows the approach works but hardware changes are still needed. IPI round-trip
AI-written summary · about
chapters (23)
- 0:00Zero-overhead virtualization intro
- 1:06Embedded vs data center
- 4:18Virtualize embedded safety
- 7:51Jailhouse basics and goals
- 11:43Overhead: avoidable vs unavoidable
- 13:27Unavoidable overhead examples
- 14:50Avoidable overhead and traps
- 17:01Static partitioning requirements
- 18:48Device partitioning challenges
- 19:52Hierarchical device autonomy
- 20:57Resource partitioning issues
- 22:27Interrupt pass-through
- 23:56Firmware overhead solutions
- 24:37Cross-core independence
- 27:06Measuring real-time latencies
- 30:16Hardware requirements
- 31:47Q&A: Linux cell crashes
- 33:24Q&A: Evil Linux cell
- 34:48Q&A: Clock control issues
- 36:13Q&A: Linux to EL2
- 37:18Q&A: Real-time under load
- 38:34Q&A: IPI on RISC-V
- 39:39Closing remarks
related talks
46mBuilding Mixed Criticality Linux Systems with the Jailhouse Hypervisor
30mLook Ma’, No (Real) Interrupt Controller!
18mZVM: Zephyr-based Virtual Machine
48mXen and the Art of Embedded Systems Virtualization
48mCapturing 0Day Exploits With Perfectly Placed Hardware Traps
21mRISC-V Nested Virtualization
20mExploring Real-Time Operating System Execution Strategies on Virtual Machines in RISC-V Architecture
13mReliable Recovery in Partitioned Embedded Systems Using IVSHMEM and...
