Sync xenio.h with kernel, and apply patch from Jed Davis on port-xen:
| libxc change #1 is to have xfrd's forked child munmap each 4MB batch | of foreign RAM after it's done writing it, rather than unmapping only | the last one and letting the process's exit clean up the rest. This | really does look like a simple mistake, and strictly speaking it's not | that big a deal -- but on NetBSD, the foreign mappings count against | the process's locked memory rlimit as if it were the dom0's own RAM. | | libxc change #2... I don't really understand the problem; it has | something to do with live migration and the domU releasing | pseudo-physical pages after they were sent but before it's suspended. | Except that, for non-live mode, I think it's reporting all the holes | in the pseudo-physical range, even though those pages haven't been | sent. In any case, the result is that the restoring xfrd fails to | decrease_reservation the pages away. And I distinctly recall this | working at least once under Linux with Xen 2, but I have little idea | what NetBSD might be doing differently. Bump PKGREVISION. This, along with a up to date -current kernel, make xm (save|restore) work properly for a linux domU.
This commit is contained in:
parent
4b174956de
commit
780ec86730
4 changed files with 40 additions and 4 deletions
|
@ -1,9 +1,9 @@
|
|||
# $NetBSD: Makefile,v 1.18 2005/08/19 18:12:39 jlam Exp $
|
||||
# $NetBSD: Makefile,v 1.19 2005/09/10 15:54:38 bouyer Exp $
|
||||
#
|
||||
|
||||
DISTNAME= xen-2.0.7-src
|
||||
PKGNAME= xentools20-2.0.7
|
||||
PKGREVISION= 1
|
||||
PKGREVISION= 2
|
||||
CATEGORIES= sysutils
|
||||
MASTER_SITES= http://www.cl.cam.ac.uk/Research/SRG/netos/xen/downloads/
|
||||
EXTRACT_SUFX= .tgz
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
$NetBSD: distinfo,v 1.10 2005/08/19 13:06:31 bouyer Exp $
|
||||
$NetBSD: distinfo,v 1.11 2005/09/10 15:54:38 bouyer Exp $
|
||||
|
||||
SHA1 (xen-2.0.7-src.tgz) = 5317100e1e062961e3fee398fccbf023eb8f0337
|
||||
RMD160 (xen-2.0.7-src.tgz) = db99fb49e592df7229d4d361c48bab1d23a1d725
|
||||
|
@ -19,3 +19,4 @@ SHA1 (patch-aq) = 96ac4caaa268069ee02962a917f85753515747be
|
|||
SHA1 (patch-as) = 333da168af43dae9a4e8695409cbd006e7fcf097
|
||||
SHA1 (patch-at) = 0964bc7dd23ff6fcd596d6a8564d9e3033f34563
|
||||
SHA1 (patch-au) = a5eb7b34d43f57a3e1d4644e98ec571f30c56f5e
|
||||
SHA1 (patch-av) = 8de5c95093571670f3eedf71684634f999ebda54
|
||||
|
|
|
@ -83,7 +83,7 @@ typedef struct privcmd_blkmsg
|
|||
#define IOCTL_PRIVCMD_MMAPBATCH \
|
||||
_IOW('P', 3, privcmd_mmapbatch_t)
|
||||
#define IOCTL_PRIVCMD_GET_MACH2PHYS_START_MFN \
|
||||
_IOW('P', 4, unsigned long)
|
||||
_IOR('P', 4, unsigned long)
|
||||
|
||||
/*
|
||||
* @cmd: IOCTL_PRIVCMD_INITDOMAIN_EVTCHN
|
||||
|
|
35
sysutils/xentools20/patches/patch-av
Normal file
35
sysutils/xentools20/patches/patch-av
Normal file
|
@ -0,0 +1,35 @@
|
|||
$NetBSD: patch-av,v 1.1 2005/09/10 15:54:39 bouyer Exp $
|
||||
|
||||
--- libxc/xc_linux_save.c.orig 2005-08-03 19:57:57.000000000 -0400
|
||||
+++ libxc/xc_linux_save.c 2005-09-06 23:23:44.000000000 -0400
|
||||
@@ -850,11 +850,10 @@
|
||||
} /* end of the write out for this batch */
|
||||
|
||||
sent_this_iter += batch;
|
||||
+ munmap(region_base, batch*PAGE_SIZE);
|
||||
|
||||
} /* end of this while loop for this iteration */
|
||||
|
||||
- munmap(region_base, batch*PAGE_SIZE);
|
||||
-
|
||||
skip:
|
||||
|
||||
total_sent += sent_this_iter;
|
||||
@@ -950,7 +949,7 @@
|
||||
|
||||
for ( i = 0, j = 0; i < nr_pfns; i++ )
|
||||
{
|
||||
- if ( ! is_mapped(live_pfn_to_mfn_table[i]) )
|
||||
+ if ( ! is_mapped(live_pfn_to_mfn_table[i]) && !test_bit(i, to_fix) )
|
||||
j++;
|
||||
}
|
||||
|
||||
@@ -962,7 +961,7 @@
|
||||
|
||||
for ( i = 0, j = 0; i < nr_pfns; )
|
||||
{
|
||||
- if ( ! is_mapped(live_pfn_to_mfn_table[i]) )
|
||||
+ if ( ! is_mapped(live_pfn_to_mfn_table[i]) && !test_bit(i, to_fix) )
|
||||
{
|
||||
pfntab[j++] = i;
|
||||
}
|
Loading…
Reference in a new issue