qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel]  [PATCH] config: split PVRDMA from RDMA
@ 2018-08-16  9:06 Marcel Apfelbaum
  2018-08-16  9:17 ` Thomas Huth
  2018-08-16  9:21 ` Peter Maydell
  0 siblings, 2 replies; 3+ messages in thread
From: Marcel Apfelbaum @ 2018-08-16  9:06 UTC (permalink / raw)
  To: qemu-devel; +Cc: yuval.shaia, thuth, rebecca, peter.maydell

In some BSD systems RDMA migration is possible while
the pvrdma device can't be compiled because the mremap
system call is missing.

Reported-by: Rebecca Cran <rebecca@bluestop.org>
Signed-off-by: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
---
 configure             | 41 ++++++++++++++++++++++++++++++++++++++++-
 hw/rdma/Makefile.objs |  2 +-
 2 files changed, 41 insertions(+), 2 deletions(-)

diff --git a/configure b/configure
index 2a7796ea80..92591302d7 100755
--- a/configure
+++ b/configure
@@ -375,6 +375,7 @@ hax="no"
 hvf="no"
 whpx="no"
 rdma=""
+pvrdma=""
 gprof="no"
 debug_tcg="no"
 debug="no"
@@ -1363,6 +1364,10 @@ for opt do
   ;;
   --disable-rdma) rdma="no"
   ;;
+  --enable-pvrdma) pvrdma="yes"
+  ;;
+  --disable-pvrdma) pvrdma="no"
+  ;;
   --with-gtkabi=*) gtkabi="$optarg"
   ;;
   --disable-vte) vte="no"
@@ -1669,7 +1674,8 @@ disabled with --disable-FEATURE, default is enabled if available:
   hax             HAX acceleration support
   hvf             Hypervisor.framework acceleration support
   whpx            Windows Hypervisor Platform acceleration support
-  rdma            Enable RDMA-based migration and PVRDMA support
+  rdma            Enable RDMA-based migration
+  pvrdma          Enable PVRDMA support
   vde             support for vde network
   netmap          support for netmap network
   linux-aio       Linux AIO support
@@ -3064,6 +3070,34 @@ EOF
   fi
 fi
 
+##########################################
+# PVRDMA detection
+
+if test "$rdma" = "yes" ; then
+    case "$pvrdma" in
+    "")
+        if test "$bsd" = "yes"; then
+            pvrdma="no"
+        else
+            pvrdma="yes"
+        fi
+        ;;
+    "yes")
+        if test "$bsd" = "yes"; then
+            error_exit "PVRDMA is not supported for bsd"
+        fi
+        pvrdma="yes"
+        ;;
+    "no")
+        pvrdma="no"
+        ;;
+    esac
+else
+    if test "$pvrdma" = "yes" ; then
+        error_exit "PVRDMA requires rdma suppport"
+    fi
+    pvrdma="no"
+fi
 
 ##########################################
 # VNC SASL detection
@@ -5952,6 +5986,7 @@ if test "$tcg" = "yes" ; then
 fi
 echo "malloc trim support $malloc_trim"
 echo "RDMA support      $rdma"
+echo "PVRDMA support    $pvrdma"
 echo "fdt support       $fdt"
 echo "membarrier        $membarrier"
 echo "preadv support    $preadv"
@@ -6708,6 +6743,10 @@ if test "$rdma" = "yes" ; then
   echo "RDMA_LIBS=$rdma_libs" >> $config_host_mak
 fi
 
+if test "$pvrdma" = "yes" ; then
+  echo "CONFIG_PVRDMA=y" >> $config_host_mak
+fi
+
 if test "$have_rtnetlink" = "yes" ; then
   echo "CONFIG_RTNETLINK=y" >> $config_host_mak
 fi
diff --git a/hw/rdma/Makefile.objs b/hw/rdma/Makefile.objs
index 3504c39d21..bd36cbf51c 100644
--- a/hw/rdma/Makefile.objs
+++ b/hw/rdma/Makefile.objs
@@ -1,4 +1,4 @@
-ifeq ($(CONFIG_RDMA),y)
+ifeq ($(CONFIG_PVRDMA),y)
 obj-$(CONFIG_PCI) += rdma_utils.o rdma_backend.o rdma_rm.o
 obj-$(CONFIG_PCI) += vmw/pvrdma_dev_ring.o vmw/pvrdma_cmd.o \
                      vmw/pvrdma_qp_ops.o vmw/pvrdma_main.o
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [Qemu-devel] [PATCH] config: split PVRDMA from RDMA
  2018-08-16  9:06 [Qemu-devel] [PATCH] config: split PVRDMA from RDMA Marcel Apfelbaum
@ 2018-08-16  9:17 ` Thomas Huth
  2018-08-16  9:21 ` Peter Maydell
  1 sibling, 0 replies; 3+ messages in thread
From: Thomas Huth @ 2018-08-16  9:17 UTC (permalink / raw)
  To: Marcel Apfelbaum, qemu-devel; +Cc: yuval.shaia, rebecca, peter.maydell

On 08/16/2018 11:06 AM, Marcel Apfelbaum wrote:
> In some BSD systems RDMA migration is possible while
> the pvrdma device can't be compiled because the mremap
> system call is missing.
> 
> Reported-by: Rebecca Cran <rebecca@bluestop.org>
> Signed-off-by: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
> ---
>  configure             | 41 ++++++++++++++++++++++++++++++++++++++++-
>  hw/rdma/Makefile.objs |  2 +-
>  2 files changed, 41 insertions(+), 2 deletions(-)
[...]
> diff --git a/hw/rdma/Makefile.objs b/hw/rdma/Makefile.objs
> index 3504c39d21..bd36cbf51c 100644
> --- a/hw/rdma/Makefile.objs
> +++ b/hw/rdma/Makefile.objs
> @@ -1,4 +1,4 @@
> -ifeq ($(CONFIG_RDMA),y)
> +ifeq ($(CONFIG_PVRDMA),y)
>  obj-$(CONFIG_PCI) += rdma_utils.o rdma_backend.o rdma_rm.o
>  obj-$(CONFIG_PCI) += vmw/pvrdma_dev_ring.o vmw/pvrdma_cmd.o \
>                       vmw/pvrdma_qp_ops.o vmw/pvrdma_main.o

Shouldn't just the second line be guarded by CONFIG_PVRDMA ?

 Thomas

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Qemu-devel] [PATCH] config: split PVRDMA from RDMA
  2018-08-16  9:06 [Qemu-devel] [PATCH] config: split PVRDMA from RDMA Marcel Apfelbaum
  2018-08-16  9:17 ` Thomas Huth
@ 2018-08-16  9:21 ` Peter Maydell
  1 sibling, 0 replies; 3+ messages in thread
From: Peter Maydell @ 2018-08-16  9:21 UTC (permalink / raw)
  To: Marcel Apfelbaum; +Cc: QEMU Developers, Yuval Shaia, Thomas Huth, Rebecca Cran

On 16 August 2018 at 10:06, Marcel Apfelbaum <marcel.apfelbaum@gmail.com> wrote:
> In some BSD systems RDMA migration is possible while
> the pvrdma device can't be compiled because the mremap
> system call is missing.
>
> Reported-by: Rebecca Cran <rebecca@bluestop.org>
> Signed-off-by: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>

> +##########################################
> +# PVRDMA detection
> +
> +if test "$rdma" = "yes" ; then
> +    case "$pvrdma" in
> +    "")
> +        if test "$bsd" = "yes"; then
> +            pvrdma="no"
> +        else
> +            pvrdma="yes"
> +        fi

Please don't do tests against "which host OS is this?"
unless there is absolutely no other option. Prefer to
test for presence/absence of specific features (eg
"do we have mremap()?".

Otherwise you're likely to give the wrong answer
for other host OSes we have support for (Haiku,
Solaris) or other host OSes we add in future.

thanks
-- PMM

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2018-08-16  9:22 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-08-16  9:06 [Qemu-devel] [PATCH] config: split PVRDMA from RDMA Marcel Apfelbaum
2018-08-16  9:17 ` Thomas Huth
2018-08-16  9:21 ` Peter Maydell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).