containers / libkrun

A dynamic library providing Virtualization-based process isolation capabilities
Apache License 2.0
807 stars 67 forks source link

VirtIO optimizations #177

Closed slp closed 6 months ago

slp commented 6 months ago

Originally, libkrun was designed to prioritize having a minimal footprint. With newer use cases, we need to find a balance between being small and lean and being performant. In this series, we move the heavy hitters (block, net and fs) to their own threads, which reduces the latency and prevents them from starving each other.

We also adopt EVENT_IDX to reduce the signal traffic between the guest and the host and update EDK2 to remove the boot wait, along other minor optimizations in virtio-net.