[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH] Allow max_pages to be set to less than tot_pages



The memory allocation code sometimes needs to enforce that a guest
that's been told to balloon down isn't going to expand further (because
it's still executing a previous balloon-up operation).  That means being
able to set the desired max_pages even before the balloon driver has
brought tot_pages down to the right level.

Signed-off-by: Tim Deegan <Tim.Deegan@xxxxxxxxxx>

diff -r 95226c6fe89b xen/common/domctl.c
--- a/xen/common/domctl.c       Mon Jun 01 11:31:38 2009 +0100
+++ b/xen/common/domctl.c       Mon Jun 01 15:41:41 2009 +0100
@@ -675,11 +675,11 @@
         new_max = op->u.max_mem.max_memkb >> (PAGE_SHIFT-10);
 
         spin_lock(&d->page_alloc_lock);
-        if ( new_max >= d->tot_pages )
-        {
-            d->max_pages = new_max;
-            ret = 0;
-        }
+        /* N.B. We removed a check that new_max >= current tot_pages;
+         * this means the domain will "ratchet" down to new_max.
+         * In the meantime tot will be > max. */
+        d->max_pages = new_max;
+        ret = 0;
         spin_unlock(&d->page_alloc_lock);
 
     max_mem_out:


_______________________________________________
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®.