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

RE: [Xen-devel] Live migration fails when available memory exactly equal to required memory on target system


  • To: "Keir Fraser" <Keir.Fraser@xxxxxxxxxxxx>
  • From: "Graham, Simon" <Simon.Graham@xxxxxxxxxxx>
  • Date: Mon, 17 Jul 2006 21:28:11 -0400
  • Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
  • Delivery-date: Mon, 17 Jul 2006 18:28:48 -0700
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>
  • Thread-index: Acap1/KlkcjoOagjQg2rX4gzRwd9YgAMID0w
  • Thread-topic: [Xen-devel] Live migration fails when available memory exactly equal to required memory on target system

I initially was also of the opinion that it was simply other code
grabbing the memory between the time the balloon driver freed it and the
time xc_restore attempted to grab it, _but_ that doesn't explain why it
only seems to happen when the original free amount is exactly the
required amount (I cant prove this is always the case, but my
observations so far is that it is).

I looked at the rounding code in balloon.py -- it's right although I do
think having a slack of only 1 MB is perhaps a little low.

I will try the debug build of Xen (just as soon as this Windows-DDK guy
can figure out how to build it ;-)

Thanks,
/simgr

-----Original Message-----
From: Keir Fraser [mailto:Keir.Fraser@xxxxxxxxxxxx] 
Sent: Monday, July 17, 2006 3:34 PM
To: Graham, Simon
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: Re: [Xen-devel] Live migration fails when available memory
exactly equal to required memory on target system


On 17 Jul 2006, at 20:17, Graham, Simon wrote:

> This time, we can see that there was only 264MB free so we had to kick
> the balloon driver to free up 1MB - once this was done (and we had
> exactly 265MB free again), we were able to increase the reservation
for
> the target DomU to the requested amount...
>
> The above is fairly reproducible but I'm not sure where to go next to
> figure out where the issue really is (or, indeed, if there really is
an
> issue -- maybe this is just one of those inherently racy things;
> however, I find it odd that it only seems to happen when the initial
> free is exactly the same as the desired; I have plenty of other cases
> where there is way more and way less memory available all of which
seem
> to work just fine).

Maybe there's a rounding error in the dom0 ballooning code. Your best 
bet is to get tracing out of Xen, which can tell you exactly how many 
pages are on Xen's free lists and how many are requested for the new 
domain being created -- a debug build of Xen would be a good start as 
that will turn on the DPRINTK tracing in Xen. Also bear in mind that 
the amount of free memory is always fluctuating in a live system -- for 
example the Xen network drivers are continually freeing and allocating 
memory to/from Xen. So if the dom0 ballooning logic is only freeing 
*exactly* what is required then that is probably a bit stupid: maybe 
some slack needs to be added (or the amount of slack increased).

  -- Keir


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

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