2022-08-17 22:29:23

by Stefan Hajnoczi

[permalink] [raw]
Subject: [PATCH] Documentation: add basic information on vDPA

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" <[email protected]>
Cc: Jason Wang <[email protected]>
Cc: Stefano Garzarella <[email protected]>
Signed-off-by: Stefan Hajnoczi <[email protected]>
---
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 [email protected] 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


2022-08-18 08:11:22

by Jason Wang

[permalink] [raw]
Subject: Re: [PATCH] Documentation: add basic information on vDPA

On Thu, Aug 18, 2022 at 6:20 AM Stefan Hajnoczi <[email protected]> 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.

+1

>
> Cc: "Michael S. Tsirkin" <[email protected]>
> Cc: Jason Wang <[email protected]>
> Cc: Stefano Garzarella <[email protected]>
> Signed-off-by: Stefan Hajnoczi <[email protected]>

Acked-by: Jason Wang <[email protected]>

> ---
> 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 [email protected] 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
>

2022-09-06 09:19:25

by Stefano Garzarella

[permalink] [raw]
Subject: Re: [PATCH] Documentation: add basic information on vDPA

On Wed, Aug 17, 2022 at 06:19:56PM -0400, Stefan Hajnoczi 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" <[email protected]>
>Cc: Jason Wang <[email protected]>
>Cc: Stefano Garzarella <[email protected]>
>Signed-off-by: Stefan Hajnoczi <[email protected]>
>---
> 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

Thank you for this work!

Reviewed-by: Stefano Garzarella <[email protected]>

2022-09-06 10:01:30

by Xuan Zhuo

[permalink] [raw]
Subject: Re: [PATCH] Documentation: add basic information on vDPA

On Wed, 17 Aug 2022 18:19:56 -0400, Stefan Hajnoczi <[email protected]> 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" <[email protected]>
> Cc: Jason Wang <[email protected]>
> Cc: Stefano Garzarella <[email protected]>
> Signed-off-by: Stefan Hajnoczi <[email protected]>

Reviewed-by: Xuan Zhuo <[email protected]>

> ---
> 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 [email protected] 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
>
> _______________________________________________
> Virtualization mailing list
> [email protected]
> https://lists.linuxfoundation.org/mailman/listinfo/virtualization

2022-09-26 18:25:17

by Eugenio Perez Martin

[permalink] [raw]
Subject: Re: [PATCH] Documentation: add basic information on vDPA

On Thu, Aug 18, 2022 at 12:20 AM Stefan Hajnoczi <[email protected]> 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" <[email protected]>
> Cc: Jason Wang <[email protected]>
> Cc: Stefano Garzarella <[email protected]>
> Signed-off-by: Stefan Hajnoczi <[email protected]>

If I'm still on time,

Reviewed-by: Eugenio PĂ©rez <[email protected]>

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 [email protected] 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
>