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

Re: [Xen-devel] domain creation vs querying free memory (xend and xl)

> From: Tim Deegan [mailto:tim@xxxxxxx]
> Subject: Re: [Xen-devel] domain creation vs querying free memory (xend and xl)
> At 13:03 -0700 on 01 Oct (1349096617), Dan Magenheimer wrote:
> > Bearing in mind that I know almost nothing about xl or
> > the tools layer, and that, as a result, I tend to look
> > for hypervisor solutions, I'm thinking it's not possible to
> > solve this without direct participation of the hypervisor anyway,
> > at least while ensuring the solution will successfully
> > work with any memory technology that involves ballooning
> > with the possibility of overcommit (i.e. tmem, page sharing
> > and host-swapping, manual ballooning, PoD)...  EVEN if the
> > toolset is single threaded (i.e. only one domain may
> > be created at a time, such as xapi). [1]
> TTBOMK, Xapi actually _has_ solved this problem, even with ballooning
> and PoD.  I don't know if they have any plans to support sharing,
> swapping or tmem, though.

Is this because PoD never independently increases the size of a domain's
allocation?  If so, then I agree Xapi has solved the problem because
in all cases the toolstack knows when the amount of memory allocated
to a domain is increasing.  However, given that George's 4.3 plan contains:

* Memory: Replace PoD with paging mechanism
  owner: george@citrix
  status: May need review

xapi might want to (re)consider either the above 4.3 feature or
see that this problem has been properly fixed prior to 4.3, because
I am fairly sure that paging _will_ increase a domain's current
allocation without knowledge of the toolstack.

> Adding a 'reservation' of free pages that may only be allocated by a
> given domain should be straightforward enough, but I'm not sure it helps

It absolutely does help.  With tmem (and I think with paging), the
total allocation of a domain may be increased without knowledge by
the toolset.

> much.  In the 'balloon-to-fit' model where all memory is already
> allocated to some domain (or tmem), some part of the toolstack needs to
> sort out freeing up the memory before allocating it to another VM.

By balloon-to-fit, do you mean that all RAM is occupied?  Tmem
handles the "sort out freeing up the memory" entirely in the
hypervisor, so the toolstack never knows.

> Surely that component needs to handle the exclusion too - otherwise a
> series of small VM creations could stall a large one indefinitely.

Not sure I understand this, but it seems feasible.


Xen-devel mailing list



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