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

RE: [Xen-devel] More on 2.6.28 and balloon driver



> It appears that in the upstream balloon driver,
> the call to HYPERVISOR_update_va_mapping is missing
> from decrease_reservation.  I think as a result,
> the balloon driver is eating memory but not
> releasing it to Xen, thus rendering the balloon
> driver essentially useless.  (Can be observed via xentop.)

Limited testing, but it appears that adding it
back in with this simple patch to linux-2.6.28
makes ballooning work properly.

As the code is lifted from the original Xen balloon driver,
I'm not sure I need this, but:

Signed-off-by: Dan Magenheimer <dan.magenheimer@xxxxxxxxxx>

Dan

P.S. Attachement is same, provided in case my mailer
messes up this >80-char-width patch.


--- linux-2.6.28/drivers/xen/balloon.c.orig     2009-01-07 12:35:48.000000000 
-0700
+++ linux-2.6.28/drivers/xen/balloon.c  2009-01-07 12:36:06.000000000 -0700
@@ -296,6 +296,11 @@
                frame_list[i] = pfn_to_mfn(pfn);
 
                scrub_page(page);
+
+               ret = HYPERVISOR_update_va_mapping(
+                       (unsigned long)__va(pfn << PAGE_SHIFT),
+                       __pte_ma(0), 0);
+               BUG_ON(ret);
        }
 
        /* Ensure that ballooned highmem pages don't have kmaps. */

Attachment: balloon.patch
Description: Binary data

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