Experimental synchronous queues cut VirtIO-FS build times by 28%
Pending synchronous queue support for VirtIO-FS reduced a libkrunfw build from 7:43 to 5:34 and improved random I/O and file deletion latency.
Summary
Sergio López has developed experimental synchronous queue support for VirtIO-FS, the paravirtualized file system used for host-guest VM data transfers. Unlike VirtIO's typical asynchronous model, synchronous queues let the host vCPU thread complete I/O requests before returning to the guest. A libkrunfw build test showed a 28% time reduction, with additional gains in random I/O and file deletion performance. The work is available as a pending pull request for libkrun adding optional VIRTIO_FS_F_SYNC support.
How synchronous queues change VirtIO-FS behavior
- Default VirtIO model: asynchronous queues where the guest continues execution without waiting for I/O completion
- Synchronous approach: host vCPU thread blocks and completes the request before returning to guest context
- Measured workload: libkrunfw build time dropped from 7:43 to 5:34 (approximately 28% faster)
- Additional gains: significant random I/O improvement and lower file deletion latency
- Implementation status: experimental pull request for libkrun with optional
VIRTIO_FS_F_SYNCflag
Why it matters
If merged, this could improve VM-based development and CI workloads that rely on VirtIO-FS for shared host-guest storage, particularly for build-heavy and metadata-intensive operations.
Original reference: www.phoronix.com →