xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Dario Faggioli <dario.faggioli@citrix.com>
To: butine@zju.edu.cn
Cc: xen-devel@lists.xen.org
Subject: Re: how to move the memory of a domain from one NUMAnode to another?
Date: Mon, 12 Aug 2013 10:53:56 +0200	[thread overview]
Message-ID: <1376297636.15390.84.camel@Solace> (raw)
In-Reply-To: <f41723.43500.1407130d9bb.Coremail.butine@zju.edu.cn>


[-- Attachment #1.1: Type: text/plain, Size: 3774 bytes --]

On lun, 2013-08-12 at 14:22 +0800, butine@zju.edu.cn wrote:
> hello,Dario
> 
Hi,

> Your approach about memory migration has some problems:
> 
It sure does. :-)

> (1)the domain must be suspended,and how long is the downtime(100ms or
> 1s)? 
> 
The downtime is supposed to be very short, and I think it really is
possible to make it very short. However, I don't have any measurements
about it right now.

That being said, I'm not aware of any approach to memory migration that
does not involve suspending the domain (at least for PV), if you have
any idea, please, share it with us. :-)

> (2)will the memory migration affect the balloon,TMem mechanism? 
> 
In general, it will "affect" them for sure... Actually, it affects
almost everything! :-O

However, I think you'd have to clarify what you mean by "affect
ballooning" and "affect Tmem". The guest will have a new node-affinity,
so it should get the memory from the new set of nodes when ballooning up
after memory migration, if that was what you where asking. Also, we have
someone working on NUMA-aware ballooning already. As soon as both the
project will be mature enough, we'll double check the interactions.

About Tmem, Dan kindly replied to my original RFC series, saying that
The Good Thing (TM) to do about Tmem in this case is _do_not_touch_ it,
and I agree and plan to try doing so.

Again, if this don't answer your question, I'm afraid you will have to
try to formulate it a bit better, because I am almost sure I am not
getting it.

> And I want to design to migrate the memory pages,the process is as
> follows:
> 
> (1)drop the reference to the memory pages of domain
> 
Ok, and does "drop the reference" also means deallocate it? If yes,
where do you want to store it temporarily? If no, how do you plan to
have the domain allocate the double of its allowed static_max amount of
memory without the entire Xen ecosystem complaining about it? Is this
something you want to do that without suspending the domain? If yes,
how's that possible for a PV guest?

> (2)lock and copy the memory pages in the new node
> 
See above regarding static_max...

> (3)update the page tables,the P2M
> 
See above regarding the need for suspending/quiesce a PV guest...

> (4)bind the VCPU to the new node 
> This process will not affect the interrupt of the domain.
>
Are you telling or asking? And in any case, what is it that you are
telling or asking?

> pls provide the suggestions,thanks!! 
>
Mmmm... Sorry, but I fail to understand again... The suggestions about
what? All in all, I don't think what you say you would like/want to
implement is much different from what I have in mind and (still
incomplete) in code.

I'm sure there is something, both in the design and in the code, from my
approach that could be improved, and if you're keen on doing that,
you're very welcome on-board. :-D

What I have been able to submit up to now, is in the RFC patches that
you've seen. What I am baking these last weeks, I will release as soon
as coming back from vacations (early in September), but it still follows
more or less the same approach (taking into account, of course, of the
comments that the RFC got).

If there is something that you think it should be done different (and
better), then it is me that am waiting for your suggestions, and believe
me, I'm very open to them, so do not hesitate to speak and/or send your
code! :-P

Thanks and Regards,
Dario

-- 
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://about.me/dario.faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


[-- Attachment #1.2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

[-- Attachment #2: Type: text/plain, Size: 126 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

  reply	other threads:[~2013-08-12  8:53 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-12  6:22 how to move the memory of a domain from one NUMAnode to another? butine
2013-08-12  8:53 ` Dario Faggioli [this message]
  -- strict thread matches above, loose matches on Subject: below --
2013-08-08  5:56 butine
2013-08-08  7:56 ` Dario Faggioli

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1376297636.15390.84.camel@Solace \
    --to=dario.faggioli@citrix.com \
    --cc=butine@zju.edu.cn \
    --cc=xen-devel@lists.xen.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).