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
|