VirtIO-FS synchronous queues cut build times by 28% in tests
Experimental 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 allow the host vCPU thread to complete I/O requests before returning to the guest. Testing showed a libkrunfw build time reduction from 7 minutes 43 seconds to 5 minutes 34 seconds, alongside gains in random I/O and lower file deletion latency. The work is available as a pending pull request for libkrun with 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 variant: host vCPU thread blocks and completes the request before returning control to the guest
- Measured workload: libkrunfw build time dropped from 463 seconds to 334 seconds (28% reduction)
- Additional gains: significant random I/O improvement and reduced file deletion latency
- Implementation status: experimental pull request for libkrun adding
VIRTIO_FS_F_SYNCfeature flag
Why it matters
If merged, this could improve VM workload performance broadly for cloud and container platforms using VirtIO-FS, particularly for build and compilation tasks that are I/O latency-sensitive.
Original reference: www.phoronix.com →