open-gaming

Experimental synchronous queues cut VirtIO-FS build times by 28%

Key Takeaway

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_SYNC flag

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 →