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

[Xen-devel] balloon.py unaware of pages on page_scrub_list

Suppose I create a domain with a "large" amount of memory (for some value of 
"large") and I set "on_crash" to be "reboot".  Then I crash the domain.  All 
the domain's memory gets put on the page_scrub_list.  Then xend attempts to 
restart the domain.  The balloon code in xend sees that very little memory is 
free, so it attempts to balloon dom0 down even more.  At this point, the 
balloon code and the page scrubber are racing.  The domain may fail to restart, 
or domain 0 may be squeezed down farther than necessary.  If dom0-min-mem is 
not tuned for the machine, this can get ugly.

I think this applies to rebooting too, not just crashing.

Would it make sense to give this information to balloon.py, and apply some 
heuristics?  Perhaps xend should wait for the scrub list to go to zero before 
trying to balloon.  Or maybe it should consider that memory as free, and only 
try to balloon (needed - to_scrub).

The most obvious way (to me) to get that information to xend is via 
DOM0_PHYSINFO.  That way, the number of free pages and the number of pages to 
scrub can be gotten atomically.


I volunteer to code and test this if there's some agreement on how it should be 


Xen-devel mailing list



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