[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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.