[PATCH] docs: add references to Argo Linux driver sources and information

Christopher Clark posted 1 patch 2 weeks ago
docs/designs/argo.pandoc | 45 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 45 insertions(+)

[PATCH] docs: add references to Argo Linux driver sources and information

Posted by Christopher Clark 2 weeks ago
Add a section to the Argo design document to supply guidance on how to
enable Argo in Xen and where to obtain source code and documentation
for Argo device drivers for guest OSes, primarily from OpenXT.

Signed-off-by: Christopher Clark <christopher.w.clark@gmail.com>
---
 docs/designs/argo.pandoc | 45 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)

diff --git a/docs/designs/argo.pandoc b/docs/designs/argo.pandoc
index 2ce253b654..74c8ae4ac7 100644
--- a/docs/designs/argo.pandoc
+++ b/docs/designs/argo.pandoc
@@ -439,6 +439,51 @@ that teardown of any domain will not interfere with any Argo hypercall
 operation. It enables introducing granular locking without complex or
 error-prone lock acquisition logic.
 
+# Related Material
+
+## Enabling Argo in Xen
+
+To enable Argo in a build of the Xen hypervisor, please ensure that
+CONFIG_ARGO is enabled in the Xen hypervisor build configuration file.
+
+To make Argo available for use at runtime on a Xen system, please see the
+Argo settings in the Xen command line document.
+
+## Linux Argo drivers
+
+A Linux kernel device driver for Argo and corresponding Linux userspace
+software, libargo, that utilizes it for interdomain communication between
+application level software is available and maintained by the OpenXT Project,
+at:
+
+https://github.com/OpenXT/linux-xen-argo
+
+The repository contains the primary Linux kernel Argo driver, which is derived
+from the original XenClient v4v driver. The document at the following link
+describes planning and design notes from OpenXT community discussion for
+improvements to the driver:
+
+https://openxt.atlassian.net/wiki/spaces/DC/pages/775389197/New+Linux+Driver+for+Argo
+
+An alternative Linux Argo driver is in also available in the same repository,
+implemented to explore a different approach for Linux to use the Argo
+primitives under the Vsock address family to allow socket communication between
+Xen domains.
+
+## v4v drivers
+
+A Windows driver for v4v has previously been used in XenClient and OpenXT
+which could be ported to Argo. It may require update for compatibility with
+recent versions of Windows software.
+
+https://github.com/OpenXT/xc-windows/tree/master/xenv4v
+
+The Linux, Windows and OSX guest tools for the Open Source HP uxen hypervisor
+contain drivers for v4v which are relevant as code bases of interest for
+porting or developing new guest OS drivers for Argo.
+
+https://github.com/uxen-virt/uxen/tree/ascara/vm-support
+
 # Future Work
 
 - Performance measurement and optimization
-- 
2.25.1


Re: [PATCH] docs: add references to Argo Linux driver sources and information

Posted by Bertrand Marquis 2 weeks ago
Hi Christopher,

Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>

Just one small NIT that could be fixed during commit.

> On 8 Oct 2021, at 05:12, Christopher Clark <christopher.w.clark@gmail.com> wrote:
> 
> Add a section to the Argo design document to supply guidance on how to
> enable Argo in Xen and where to obtain source code and documentation
> for Argo device drivers for guest OSes, primarily from OpenXT.
> 
> Signed-off-by: Christopher Clark <christopher.w.clark@gmail.com>
> ---
> docs/designs/argo.pandoc | 45 ++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 45 insertions(+)
> 
> diff --git a/docs/designs/argo.pandoc b/docs/designs/argo.pandoc
> index 2ce253b654..74c8ae4ac7 100644
> --- a/docs/designs/argo.pandoc
> +++ b/docs/designs/argo.pandoc
> @@ -439,6 +439,51 @@ that teardown of any domain will not interfere with any Argo hypercall
> operation. It enables introducing granular locking without complex or
> error-prone lock acquisition logic.
> 
> +# Related Material
> +
> +## Enabling Argo in Xen
> +
> +To enable Argo in a build of the Xen hypervisor, please ensure that
> +CONFIG_ARGO is enabled in the Xen hypervisor build configuration file.
> +
> +To make Argo available for use at runtime on a Xen system, please see the
> +Argo settings in the Xen command line document.

NIT: s/document/documentation/

Cheers
Bertrand

> +
> +## Linux Argo drivers
> +
> +A Linux kernel device driver for Argo and corresponding Linux userspace
> +software, libargo, that utilizes it for interdomain communication between
> +application level software is available and maintained by the OpenXT Project,
> +at:
> +
> +https://github.com/OpenXT/linux-xen-argo
> +
> +The repository contains the primary Linux kernel Argo driver, which is derived
> +from the original XenClient v4v driver. The document at the following link
> +describes planning and design notes from OpenXT community discussion for
> +improvements to the driver:
> +
> +https://openxt.atlassian.net/wiki/spaces/DC/pages/775389197/New+Linux+Driver+for+Argo
> +
> +An alternative Linux Argo driver is in also available in the same repository,
> +implemented to explore a different approach for Linux to use the Argo
> +primitives under the Vsock address family to allow socket communication between
> +Xen domains.
> +
> +## v4v drivers
> +
> +A Windows driver for v4v has previously been used in XenClient and OpenXT
> +which could be ported to Argo. It may require update for compatibility with
> +recent versions of Windows software.
> +
> +https://github.com/OpenXT/xc-windows/tree/master/xenv4v
> +
> +The Linux, Windows and OSX guest tools for the Open Source HP uxen hypervisor
> +contain drivers for v4v which are relevant as code bases of interest for
> +porting or developing new guest OS drivers for Argo.
> +
> +https://github.com/uxen-virt/uxen/tree/ascara/vm-support
> +
> # Future Work
> 
> - Performance measurement and optimization
> -- 
> 2.25.1
> 
> 


Re: [PATCH] docs: add references to Argo Linux driver sources and information

Posted by Jan Beulich 2 weeks ago
On 08.10.2021 06:12, Christopher Clark wrote:
> Add a section to the Argo design document to supply guidance on how to
> enable Argo in Xen and where to obtain source code and documentation
> for Argo device drivers for guest OSes, primarily from OpenXT.
> 
> Signed-off-by: Christopher Clark <christopher.w.clark@gmail.com>

Just a nit:

> --- a/docs/designs/argo.pandoc
> +++ b/docs/designs/argo.pandoc
> @@ -439,6 +439,51 @@ that teardown of any domain will not interfere with any Argo hypercall
>  operation. It enables introducing granular locking without complex or
>  error-prone lock acquisition logic.
>  
> +# Related Material
> +
> +## Enabling Argo in Xen
> +
> +To enable Argo in a build of the Xen hypervisor, please ensure that
> +CONFIG_ARGO is enabled in the Xen hypervisor build configuration file.
> +
> +To make Argo available for use at runtime on a Xen system, please see the
> +Argo settings in the Xen command line document.
> +
> +## Linux Argo drivers
> +
> +A Linux kernel device driver for Argo and corresponding Linux userspace
> +software, libargo, that utilizes it for interdomain communication between
> +application level software is available and maintained by the OpenXT Project,
> +at:
> +
> +https://github.com/OpenXT/linux-xen-argo
> +
> +The repository contains the primary Linux kernel Argo driver, which is derived
> +from the original XenClient v4v driver. The document at the following link
> +describes planning and design notes from OpenXT community discussion for
> +improvements to the driver:
> +
> +https://openxt.atlassian.net/wiki/spaces/DC/pages/775389197/New+Linux+Driver+for+Argo
> +
> +An alternative Linux Argo driver is in also available in the same repository,

One "in" too many? Probably fine to adjust whole committing, if no other
comments arise.

Jan

> +implemented to explore a different approach for Linux to use the Argo
> +primitives under the Vsock address family to allow socket communication between
> +Xen domains.
> +
> +## v4v drivers
> +
> +A Windows driver for v4v has previously been used in XenClient and OpenXT
> +which could be ported to Argo. It may require update for compatibility with
> +recent versions of Windows software.
> +
> +https://github.com/OpenXT/xc-windows/tree/master/xenv4v
> +
> +The Linux, Windows and OSX guest tools for the Open Source HP uxen hypervisor
> +contain drivers for v4v which are relevant as code bases of interest for
> +porting or developing new guest OS drivers for Argo.
> +
> +https://github.com/uxen-virt/uxen/tree/ascara/vm-support
> +
>  # Future Work
>  
>  - Performance measurement and optimization
>