[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Re: [Xen-changelog] [xen-unstable] Clean up handling of IS_PRIV_FOR() and rcu_[un]lock_domain().
Keir Fraser, le Sat 29 Mar 2008 11:47:57 +0000, a écrit : > > DOMCTL_getdomaininfo is needed. > > DOMCTL_max_mem is needed. > > These ones are a sticking point I'm afraid. DOMCTL_max_mem is a globally > privileged operation because it can give increased access to the global > memory resource. We can't let stub domains have at it. We'll have to keep > max_mem permanently increased, and set that up in xend. With that done you > probably don't really need getdomaininfo either. Hum, actually that was already done, see python/xen/xend/Image.py:682 and that can indeed be seen in xm top... The patch below drops the qemu reservation code, and things still work as expected. Samuel ioemu: drop duplicate memory reservation Signed-off-by: Samuel Thibault <samuel.thibault@xxxxxxxxxxxxx> diff -r 30c502e58777 tools/ioemu/vl.c --- a/tools/ioemu/vl.c Sat Apr 05 15:01:14 2008 +0100 +++ b/tools/ioemu/vl.c Sat Apr 05 17:18:56 2008 +0100 @@ -7018,26 +7018,12 @@ int unset_mm_mapping(int xc_handle, uint xen_pfn_t *extent_start) { int err = 0; - xc_dominfo_t info; - - xc_domain_getinfo(xc_handle, domid, 1, &info); - if ((info.nr_pages - nr_pages) <= 0) { - fprintf(stderr, "unset_mm_mapping: error nr_pages\n"); - err = -1; - } err = xc_domain_memory_decrease_reservation(xc_handle, domid, nr_pages, 0, extent_start); if (err) fprintf(stderr, "Failed to decrease physmap\n"); - - if (xc_domain_setmaxmem(xc_handle, domid, (info.nr_pages - nr_pages) * - PAGE_SIZE/1024) != 0) { - fprintf(logfile, "set maxmem returned error %d\n", errno); - err = -1; - } - return err; } @@ -7045,16 +7031,7 @@ int set_mm_mapping(int xc_handle, uint32 unsigned long nr_pages, unsigned int address_bits, xen_pfn_t *extent_start) { - xc_dominfo_t info; int err = 0; - - xc_domain_getinfo(xc_handle, domid, 1, &info); - - if (xc_domain_setmaxmem(xc_handle, domid, info.max_memkb + - nr_pages * PAGE_SIZE/1024) != 0) { - fprintf(logfile, "set maxmem returned error %d\n", errno); - return -1; - } err = xc_domain_memory_populate_physmap(xc_handle, domid, nr_pages, 0, address_bits, extent_start); _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |