Re: [PATCH] Documentation: add basic information on vDPA
From: Eugenio Perez Martin
Date: Mon Sep 26 2022 - 13:44:28 EST
On Thu, Aug 18, 2022 at 12:20 AM Stefan Hajnoczi <stefanha@xxxxxxxxxx> wrote:
>
> The vDPA driver framework is largely undocumented. Add a basic page that
> describes what vDPA is, where to get more information, and how to use
> the simulator for testing.
>
> In the future it would be nice to add an overview of the driver API as
> well as comprehensive doc comments.
>
> Cc: "Michael S. Tsirkin" <mst@xxxxxxxxxx>
> Cc: Jason Wang <jasowang@xxxxxxxxxx>
> Cc: Stefano Garzarella <sgarzare@xxxxxxxxxx>
> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
If I'm still on time,
Reviewed-by: Eugenio Pérez <eperezma@xxxxxxxxxx>
Thanks!
> ---
> Documentation/driver-api/index.rst | 1 +
> Documentation/driver-api/vdpa.rst | 40 ++++++++++++++++++++++++++++++
> 2 files changed, 41 insertions(+)
> create mode 100644 Documentation/driver-api/vdpa.rst
>
> diff --git a/Documentation/driver-api/index.rst b/Documentation/driver-api/index.rst
> index d3a58f77328e..e307779568d4 100644
> --- a/Documentation/driver-api/index.rst
> +++ b/Documentation/driver-api/index.rst
> @@ -103,6 +103,7 @@ available subsections can be seen below.
> switchtec
> sync_file
> tty/index
> + vdpa
> vfio-mediated-device
> vfio
> vfio-pci-device-specific-driver-acceptance
> diff --git a/Documentation/driver-api/vdpa.rst b/Documentation/driver-api/vdpa.rst
> new file mode 100644
> index 000000000000..75c666548e1d
> --- /dev/null
> +++ b/Documentation/driver-api/vdpa.rst
> @@ -0,0 +1,40 @@
> +====================================
> +vDPA - VIRTIO Data Path Acceleration
> +====================================
> +
> +The vDPA driver framework can be used to implement VIRTIO devices that are
> +backed by physical hardware or by software. While the device's data path
> +complies with the VIRTIO specification, the control path is driver-specific and
> +a netlink interface exists for instantiating devices.
> +
> +vDPA devices can be attached to the kernel's VIRTIO device drivers or exposed
> +to userspace emulators/virtualizers such as QEMU through vhost.
> +
> +The driver API is not documented beyond the doc comments in <linux/vdpa.h>. The
> +netlink API is not documented beyond the doc comments in <linux/uapi/vdpa.h>.
> +The existing vDPA drivers serve as reference code for those wishing to develop
> +their own drivers.
> +
> +See https://vdpa-dev.gitlab.io/ for more information about vDPA.
> +
> +Questions can be sent to the virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx mailing
> +list.
> +
> +Device simulators
> +-----------------
> +
> +There are software vDPA device simulators for testing, prototyping, and
> +development purposes. The simulators do not require physical hardware.
> +
> +Available simulators include:
> +
> +- `vdpa_sim_net` implements a virtio-net loopback device.
> +- `vdpa_sim_blk` implements a memory-backed virtio-blk device.
> +
> +To use `vdpa_sim_blk` through vhost::
> +
> + # modprobe vhost_vdpa
> + # modprobe vdpa_sim_blk
> + # vdpa dev add name vdpa-blk1 mgmtdev vdpasim_blk
> + ...use /dev/vhost-dev-0...
> + # vdpa dev del vdpa-blk1
> --
> 2.37.2
>