[PATCH 1/1] mm: Export split_page().

Dave Hansen dave at linux.vnet.ibm.com
Mon Mar 4 17:05:58 UTC 2013


On 03/03/2013 06:36 PM, KY Srinivasan wrote:
>> I guess the most obvious question about exporting this symbol is, "Why
>> doesn't any of the other hypervisor balloon drivers need this?  What is
>> so special about hyper-v?"
> 
> The balloon protocol that Hyper-V has specified is designed around the ability to
> move 2M pages. While the protocol can handle 4k allocations, it is going to be very chatty
> with 4K allocations.

What does "very chatty" mean?  Do you think that there will be a
noticeable performance difference ballooning 2M pages vs 4k?

> Furthermore, the Memory Balancer on the host is also designed to work
> best with memory moving around in 2M chunks. While I have not seen the code on the Windows
> host that does this memory balancing, looking at how Windows guests behave in this environment,
> (relative to Linux) I have to assume that the 2M allocations that Windows guests do are a big part of
> the difference we see.

You've been talking about differences.  Could you elaborate on what the
differences in behavior are that you are trying to rectify here?

>> Or can those other drivers also need/use it as well, and they were just
>> too chicken to be asking for the export?  :)
> 
> The 2M balloon allocations would make sense if the host is designed accordingly.

How does the guest decide which size pages to allocate?  It seems like a
relatively bad idea to be inflating the balloon with 2M pages from the
guest in the case where the guest is under memory pressure _and_
fragmented.




More information about the devel mailing list