Martin Schwidefsky wrote:
> 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.

Do you look at fault rates?  Refault rates?

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

Yes, and its good from that perspective.   Do you really implement it 
purely that way, or do you bias the LRU to push volatile and free pages 
down the end of the LRU list in preference to pages which must be 
preserved?  If you have a small bias then you can prefer to evict easily 
evictable pages compared to their near-equivalents which require IO.

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

Yes.  But it still depends on the guest.  A very helpful guest could 
deliberately preswap pages so that it can mark them as volatile, whereas 
a less helpful one may keep them persistent and defer preswapping them 
until there's a good reason to do so.  Host swapping and page hinting 
won't put any apparent memory pressure on the guest, so it has no reason 
to start preswapping even if the overall system is under pressure.  
Ballooning will expose each guest to its share of the overall system 
memory pressure, so they can respond appropriately (one hopes).

    J
_______________________________________________
Virtualization mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/virtualization

Reply via email to