On Tue, Dec 20, 2022 at 08:02:51AM +0800, Longpeng (Mike, Cloud Infrastructure Service Product Dept.) wrote: > > > 在 2022/12/20 5:37, Michael S. Tsirkin 写道: > > On Fri, Dec 16, 2022 at 11:33:49AM +0800, Jason Wang wrote: > > > On Thu, Dec 15, 2022 at 9:50 PM Longpeng(Mike) <longpe...@huawei.com> > > > wrote: > > > > > > > > From: Longpeng <longpe...@huawei.com> > > > > > > > > Signed-off-by: Longpeng <longpe...@huawei.com> > > > > --- > > > > .../devices/vhost-vdpa-generic-device.rst | 68 +++++++++++++++++++ > > > > 1 file changed, 68 insertions(+) > > > > create mode 100644 docs/system/devices/vhost-vdpa-generic-device.rst > > > > > > > > diff --git a/docs/system/devices/vhost-vdpa-generic-device.rst > > > > b/docs/system/devices/vhost-vdpa-generic-device.rst > > > > new file mode 100644 > > > > index 0000000000..24c825ef1a > > > > --- /dev/null > > > > +++ b/docs/system/devices/vhost-vdpa-generic-device.rst > > > > @@ -0,0 +1,68 @@ > > > > + > > > > +========================= > > > > +vhost-vDPA generic device > > > > +========================= > > > > + > > > > +This document explains the usage of the vhost-vDPA generic device. > > > > + > > > > + > > > > +Description > > > > +----------- > > > > + > > > > +vDPA(virtio data path acceleration) device is a device that uses a > > > > datapath > > > > +which complies with the virtio specifications with vendor specific > > > > control > > > > +path. > > > > + > > > > +QEMU provides two types of vhost-vDPA devices to enable the vDPA > > > > device, one > > > > +is type sensitive which means QEMU needs to know the actual device type > > > > +(e.g. net, blk, scsi) and another is called "vhost-vDPA generic > > > > device" which > > > > +is type insensitive. > > > > + > > > > +The vhost-vDPA generic device builds on the vhost-vdpa subsystem and > > > > virtio > > > > +subsystem. It is quite small, but it can support any type of virtio > > > > device. > > > > + > > > > + > > > > +Requirements > > > > +------------ > > > > +Linux 5.18+ > > > > +iproute2/vdpa 5.12.0+ > > > > + > > > > + > > > > +Examples > > > > +-------- > > > > + > > > > +1. Prepare the vhost-vDPA backends, here is an example using > > > > vdpa_sim_blk > > > > + device: > > > > + > > > > +:: > > > > + host# modprobe vhost_vdpa > > > > + host# modprobe vdpa_sim_blk > > > > > > Nit: it's probably better to add driver binding steps here. > > > > > > > + host# vdpa dev add mgmtdev vdpasim_blk name blk0 > > > > + (...you can see the vhost-vDPA device under /dev directory now...) > > > > > > And then the vhost char dev name could be fetch via > > > > > > ls /sys/bus/vdpa/device/blk0/vhost-vdpa* > > > > > > With the above changes. > > > > > > Acked-by: Jason Wang <jasow...@redhat.com> > > > > > > Thanks > > > > > > Sounds minor enough, I'll queue, pls fix with a patch on top. > > > OK, thanks. I'll send when I'm free.
Is this going to be in the next couple of weeks? then ok. We do want this addressed by let's say rc3. > > > > + host# ls -l /dev/vhost-vdpa-* > > > > + crw------- 1 root root 236, 0 Nov 2 00:49 /dev/vhost-vdpa-0 > > > > + > > > > +Note: > > > > +It needs some vendor-specific steps to provision the vDPA device if > > > > you're > > > > +using real HW devices, such as loading the vendor-specific vDPA driver > > > > and > > > > +binding the device to the driver. > > > > + > > > > + > > > > +2. Start the virtual machine: > > > > + > > > > +Start QEMU with virtio-mmio bus: > > > > + > > > > +:: > > > > + host# qemu-system \ > > > > + -M microvm -m 512 -smp 2 -kernel ... -initrd ... \ > > > > + -device vhost-vdpa-device,vhostdev=/dev/vhost-vdpa-0 \ > > > > + ... > > > > + > > > > + > > > > +Start QEMU with virtio-pci bus: > > > > + > > > > +:: > > > > + host# qemu-system \ > > > > + -M pc -m 512 -smp 2 \ > > > > + -device vhost-vdpa-device-pci,vhostdev=/dev/vhost-vdpa-0 \ > > > > + ... > > > > -- > > > > 2.23.0 > > > > > > > > .