[PATCH v4 00/16] add virtio_blk device support to vdpa/ifc
Andy Pei
andy.pei at intel.com
Sun Mar 27 16:51:23 CEST 2022
This patch set add virtio_blk device support to vdpa/ifc driver.
With a lot of similarities, I re-use part of vdpa/ifc driver.
Distinguish the virtio net and blk device by device id, and implement
specific features and ops.
Add example to vdpa to support virtio_blk device.
To support blk device live migration, some modification to vhost lib.
Perform dev_conf op only under VHOST_USER_SET_VRING_CALL msg.
v4:
add args "isblk" to vdpa example to specify a block device, fix some
issue in example.
Make sure code specify for block device does not affect net device.
v3:
Fix some compile issues.
v2:
Fix some coding style issues.
Andy Pei (16):
vdpa/ifc: add support for virtio blk device
vhost: add vdpa ops for blk device
vhost: add support for VHOST_USER_GET_CONFIG and VHOST_USER_SET_CONFIG
vdpa/ifc: add blk ops for ifc device
vdpa/ifc: add vdpa interrupt for blk device
vdpa/ifc: add block device SW live-migration
example/vdpa:add vdpa blk support in example
usertools: add support for virtio blk device
vdpa/ifc: set_vring_state op is mandatory, add set_vring_state for blk
device
vdpa/ifc: add some log at VDPA lauch before qemu connect
vdpa/ifc: read virtio max_queues from hardware
vdpa: add config space change interrupt register and handle for
virtio_blk
vdpa/ifc: add is_blk flag to ifcvf_hw, and init is_blk during probe
vdpa/ifc/base: for blk device, live migration register is different
from net device
vdpa/ifc: make sure hardware last_avail_idx and last_used_idx is the
same when blk device pause
vhost: make sure each queue callfd is configured
drivers/vdpa/ifc/base/ifcvf.c | 42 +++-
drivers/vdpa/ifc/base/ifcvf.h | 29 ++-
drivers/vdpa/ifc/ifcvf_vdpa.c | 523 ++++++++++++++++++++++++++++++++++++---
examples/vdpa/main.c | 61 ++++-
examples/vdpa/vdpa_blk_compact.h | 72 ++++++
examples/vdpa/vhost_user.h | 169 +++++++++++++
lib/vhost/vdpa_driver.h | 8 +-
lib/vhost/vhost_user.c | 65 +++++
lib/vhost/vhost_user.h | 15 ++
usertools/dpdk-devbind.py | 8 +
10 files changed, 937 insertions(+), 55 deletions(-)
create mode 100644 examples/vdpa/vdpa_blk_compact.h
create mode 100644 examples/vdpa/vhost_user.h
--
1.8.3.1
More information about the dev
mailing list