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

From: Dave Hansen
Date: Mon Mar 04 2013 - 12:06:32 EST


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.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/