Virtio Devices Emulation in SPDK Based on Vfio-User Protocol
summary
SPDK implements a virtio PCIe abstraction layer and emulates virtio-blk and virtio-scsi over the vfio-user client/server model, comparing it to vhost-user. Tests use an Intel P5800X split between controllers, queue size 128 and guest queue depths 1–16; throughput and latency are nearly identical to vhost-user. vfio-user currently lacks packed-ring and some live-migration/interrupt features; two extra pollers exist but do not measurably degrade performance, and interrupt-mode work is planned.
AI-written summary · about
chapters (9)
- 0:00Intro
- 1:12VFIO-USER Introduction
- 3:32VFIO-USER Server in SPDK
- 6:49Benefits of VFIO-USER
- 9:01Virtio device layout
- 10:39VFIO Region 4 Callback • Common configuration access responses based on virtio specification via (offset, length, RW flag)
- 13:47Virtio-BLKISCSI Commands Processing
- 15:27VM Performance tests Configuration • QEMU command line
- 18:23SPDK VIRTIO Client Performance
related talks
21mVirtio hardware accelerators and other news
19mlibvfio-user: Status Update
27mVFIO User - Using VFIO as the IPC Protocol in Multi-process QEMU
41mVirtIo-Net PCIe Function Using Linux PCI Endpoint Framework
18mvdpa-blk: Unified Hardware and Software Offload for virtio-blk
41mVirtIo-Net PCIe Function Using Linux PCI Endpoint Framework
36mShared Virtual Addressing for High Performance Arm Infrastructure Platforms
24mvDPA Support in Linux Kernel
