[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Xen balloon driver improvement (version 1)

On 23/10/14 11:52, Stefano Stabellini wrote:
> On Thu, 23 Oct 2014, David Vrabel wrote:
>> On 22/10/14 17:29, Wei Liu wrote:
>>> ### Make use of balloon page compaction
>> [...]
>>> The core of migration callback is XENMEM\_exchange hypercall. This
>>> makes sure that inflation of old page and deflation of new page is
>>> done atomically, so even if a domain is beyond its memory target and
>>> being enforced, it can still compact memory.
>> XENMEM_exchange doesn't really have the behaviour that is needed here.
>> Page migration splits the memory map into two parts, the populated area
>> at the bottom and the balloon area.  The populated area is fragmented by
>> ballooned pages, and the balloon area is fragmented by populated pages.
>> Consider a single ballooned page in the middle of an otherwise intact
>> superframe.  Page migration wants to populate this page and depopulate a
>> different page from the balloon area.
>> A hypercall that can do an atomic populate and depopulate will allow xen
>> to easily recreate the superframe (if the missing frame is free).
>> XENMEM_exchange will leave the superframe fragmented.
> XENMEM_exchange should be capable of doing that. If it is not today, it
> could be fixed. Am I missing something? What the problem at the
> interface level with XENMEM_exchange?

I'm probably not understanding what XENMEM_exchange does.  If it has the
correct behaviour already then that's fine.


Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.