On Thu, 02 Apr 2009 13:34:37 -0700 Jeremy Fitzhardinge <jeremy@xxxxxxxx> wrote: > Rik van Riel wrote: > > Jeremy Fitzhardinge wrote: > >> The more complex host policy decisions of how to balance overall > >> memory use system-wide are much in the same for both mechanisms. > > Not at all. Page hinting is just an optimization to host swapping, where > > IO can be avoided on many of the pages that hit the end of the LRU. > > > > No decisions have to be made at all about balancing memory use > > between guests, it just happens through regular host LRU aging. > > When the host pages out a page belonging to guest A, then its making a > policy decision on how large guest A should be compared to B. If the > policy is a global LRU on all guest pages, then that's still a policy on > guest sizes: the target size is a function of its working set, assuming > that the working set is well modelled by LRU. I imagine that if the > guest and host are both managing their pages with an LRU-like algorithm > you'll get some nasty interactions, which page hinting tries to alleviate. This is the basic idea of guest page hinting. Let the host memory manager make it decision based on the data it has. That includes page age determined with a global LRU list, page age determined with a per-guest LRU list, i/o rates of the guests, all kind of policy which guest should have how much memory. The page hinting comes into play AFTER the decision has been made which page to evict. Only then the host should look at the volatile vs. stable page state and decide what has to be done with the page. If it is volatile the host can throw the page away because the guest can recreate it with LESS effort. That is the optimization. > > Automatic ballooning requires that something on the host figures > > out how much memory each guest needs and sizes the guests > > appropriately. All the proposed policies for that which I have > > seen have some nasty corner cases or are simply very limited > > in scope. > > Well, you could apply something equivalent to a global LRU: ask for more > pages from guests who have the most unused pages. (I'm not saying that > its necessarily a useful policy.) But with page hinting you don't have to even ask. Just take the pages if you need them. The guest already told you that you can have them by setting the unused state. -- blue skies, Martin. "Reality continues to ruin my life." - Calvin. _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/virtualization