> -----Original Message-----
> From: Dave Hansen [mailto:d...@linux.vnet.ibm.com]
> Sent: Monday, March 04, 2013 12:06 PM
> To: KY Srinivasan
> Cc: Greg KH; linux-kernel@vger.kernel.org; de...@linuxdriverproject.org;
> o...@aepfle.de; a...@canonical.com; a...@firstfloor.org; akpm@linux-
> foundation.org; linux...@kvack.org
> Subject: Re: [PATCH 1/1] mm: Export split_page().
> 
> 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?

The balloon protocol that Hyper-V host specified allows you to specify page
ranges - start_pfn: num_pfn. With 2M pages the number of messages that need
to be exchanges is significantly fewer than with 4K page allocations.
> 
> > 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?

As I look at how smoothly memory is balanced on Windows guests with changing 
load conditions
in the guest relative to what I see with Linux, I see Linux taking more time to 
reach the steady state
during a balancing operation.  I will experiment with 2M allocations and report 
if this issue is addressed.

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

I want to start with 2M allocations and if they fail, fall back onto lower 
order allocations.
As I said, the host can support 4K allocations and that will be the final 
fallback position
(that is what I have currently implemented). If the guest memory is fragmented, 
then
obviously we will go in for lower order allocations.

Regards,

K. Y 


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

Reply via email to