Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 15 Mar 2019 12:37:55 +0000 (UTC)
From:      =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <royger@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r495786 - in head/sysutils/xen-tools: . files
Message-ID:  <201903151237.x2FCbtS6007541@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: royger (src committer)
Date: Fri Mar 15 12:37:54 2019
New Revision: 495786
URL: https://svnweb.freebsd.org/changeset/ports/495786

Log:
  sysutils/xen-tools: add QEMU migration fix
  
  Add a QEMU fix to make migration more reliable.
  
  Sponsored by:		Citrix Systems R&D
  Reviewed by:		novel
  Differential revision:	https://reviews.freebsd.org/D19591

Added:
  head/sysutils/xen-tools/files/0001-xen-mapcache-use-MAP_FIXED-flag-so-the-mmap-address-qemuu.patch   (contents, props changed)
Modified:
  head/sysutils/xen-tools/Makefile

Modified: head/sysutils/xen-tools/Makefile
==============================================================================
--- head/sysutils/xen-tools/Makefile	Fri Mar 15 10:44:31 2019	(r495785)
+++ head/sysutils/xen-tools/Makefile	Fri Mar 15 12:37:54 2019	(r495786)
@@ -3,7 +3,7 @@
 PORTNAME=	xen
 PKGNAMESUFFIX=	-tools
 PORTVERSION=	4.11.1
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	sysutils emulators
 MASTER_SITES=	http://downloads.xenproject.org/release/xen/${PORTVERSION}/
 

Added: head/sysutils/xen-tools/files/0001-xen-mapcache-use-MAP_FIXED-flag-so-the-mmap-address-qemuu.patch
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/xen-tools/files/0001-xen-mapcache-use-MAP_FIXED-flag-so-the-mmap-address-qemuu.patch	Fri Mar 15 12:37:54 2019	(r495786)
@@ -0,0 +1,56 @@
+From f3069a581c0f96b62c59b06a43b57561f7418813 Mon Sep 17 00:00:00 2001
+From: Roger Pau Monne <roger.pau@citrix.com>
+Date: Fri, 15 Mar 2019 09:27:19 +0100
+Subject: [PATCH] xen-mapcache: use MAP_FIXED flag so the mmap address hint is
+ always honored
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Or if it's not possible to honor the hinted address an error is returned
+instead. This makes it easier to spot the actual failure, instead of
+failing later on when the caller of xen_remap_bucket realizes the
+mapping has not been created at the requested address.
+
+Also note that at least on FreeBSD using MAP_FIXED will cause mmap to
+try harder to honor the passed address.
+
+Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
+---
+Cc: Stefano Stabellini <sstabellini@kernel.org>
+Cc: Anthony Perard <anthony.perard@citrix.com>
+Cc: Paul Durrant <paul.durrant@citrix.com>
+Cc: Igor Druzhinin <igor.druzhinin@citrix.com>
+Cc: Paolo Bonzini <pbonzini@redhat.com>
+Cc: Richard Henderson <rth@twiddle.net>
+Cc: Eduardo Habkost <ehabkost@redhat.com>
+Cc: "Michael S. Tsirkin" <mst@redhat.com>
+Cc: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
+Cc: xen-devel@lists.xenproject.org
+---
+ hw/i386/xen/xen-mapcache.c | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/hw/i386/xen/xen-mapcache.c b/hw/i386/xen/xen-mapcache.c
+index 349f72d00c..0e2870b320 100644
+--- a/hw/i386/xen/xen-mapcache.c
++++ b/hw/i386/xen/xen-mapcache.c
+@@ -185,8 +185,14 @@ static void xen_remap_bucket(MapCacheEntry *entry,
+     }
+ 
+     if (!dummy) {
++        /*
++         * If the caller has requested the mapping at a specific address use
++         * MAP_FIXED to make sure it's honored. Note that with MAP_FIXED at
++         * least FreeBSD will try harder to honor the passed address.
++         */
+         vaddr_base = xenforeignmemory_map2(xen_fmem, xen_domid, vaddr,
+-                                           PROT_READ | PROT_WRITE, 0,
++                                           PROT_READ | PROT_WRITE,
++                                           vaddr ? MAP_FIXED : 0,
+                                            nb_pfn, pfns, err);
+         if (vaddr_base == NULL) {
+             perror("xenforeignmemory_map2");
+-- 
+2.17.2 (Apple Git-113)
+



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201903151237.x2FCbtS6007541>