qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Igor Mammedov <imammedo@redhat.com>
To: "Tan, Jianfeng" <jianfeng.tan@intel.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Maxime Coquelin <maxime.coquelin@redhat.com>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	"Michael S . Tsirkin" <mst@redhat.com>
Subject: Re: [Qemu-devel] [RFC] exec: eliminate ram naming issue as migration
Date: Thu, 8 Feb 2018 12:30:18 +0100	[thread overview]
Message-ID: <20180208123018.5b3c9da7@redhat.com> (raw)
In-Reply-To: <53186984-2111-ed5e-0d47-65db12f22ea3@intel.com>

On Thu, 8 Feb 2018 18:18:20 +0800
"Tan, Jianfeng" <jianfeng.tan@intel.com> wrote:

> On 2/8/2018 5:51 PM, Igor Mammedov wrote:
> > On Thu, 8 Feb 2018 09:20:45 +0800
> > "Tan, Jianfeng" <jianfeng.tan@intel.com> wrote:
> >  
> >> On 2/7/2018 8:06 PM, Igor Mammedov wrote:  
> >>> On Wed, 7 Feb 2018 07:49:58 +0000
> >>> "Tan, Jianfeng" <jianfeng.tan@intel.com> wrote:
> >>>     
> >>>>> -----Original Message-----
> >>>>> From: Paolo Bonzini [mailto:pbonzini@redhat.com]
> >>>>> Sent: Tuesday, February 6, 2018 1:32 AM
> >>>>> To: Igor Mammedov
> >>>>> Cc: Tan, Jianfeng; qemu-devel@nongnu.org; Jason Wang; Maxime Coquelin;
> >>>>> Michael S . Tsirkin
> >>>>> Subject: Re: [Qemu-devel] [RFC] exec: eliminate ram naming issue as
> >>>>> migration
> >>>>>
> >>>>> On 05/02/2018 18:15, Igor Mammedov wrote:  
> >>>>>>>> Then we would have both ram block named pc.ram:
> >>>>>>>>                 Block Name    PSize
> >>>>>>>>                         pc.ram     4 KiB
> >>>>>>>>         /objects/pc.ram    2 MiB
> >>>>>>>>
> >>>>>>>> But I assume it's a corner case which not really happen.  
> >>>>>>> Yeah, you're right. :/  I hadn't thought of hotplug.  It can happen indeed.  
> >>>>>> perhaps we should fail object_add memory-backend-foo if it resulted
> >>>>>> in creating ramblock with duplicate id  
> >>>>> Note that it would only be duplicated with Jianfeng's patch.  So I'm
> >>>>> worried that his patch is worse than what we have now, because it may
> >>>>> create conflicts with system RAMBlock names are not necessarily
> >>>>> predictable.  Right now, -object creates RAMBlock names that are nicely
> >>>>> constrained within /object/.  
> >>>> So we are trading off between the benefit it takes and the bad effect it brings.
> >>>>
> >>>> I'm wondering if the above example is the only failed case this patch leads to, i.e, only there is a ram named "pc.ram" and "/object/pc.ram" in the src VM?
> >>>>
> >>>> Please also consider the second option, that adding an alias name for RAMBlock; I'm not a big fan for that one, as it just pushes the problem to OpenStack/Libvirt.  
> >>> looking at provided CLI examples it's configuration issue on src and dst,
> >>> one shall not mix numa and non numa variants.  
> >> Aha, that's another thing we also want to change. We now add numa at dst
> >> node, only because without -numa, we cannot set up the file-baked memory
> >> with share=on.  
> > then shouldn't you start src with the same -numa to begin with,
> > changing such things on the fly is not supported.  
> 
> Yes, you are describing the best practice. But we are originally trying 
> to migrate without any changes to QEMU.
> 
> > General rule is that machine on dst has to be the same as on src.  
> 
> OK.
> 
> > (with backend not visible to guest it possible might be changed
> > but it's hard to tell if something would break due to that
> > or would continue working in future since doesn't go along with above rule)
> >  
> >> For example, "-m xG -mem-path xxx" can set up a file-baked memory, but
> >> the file is not share-able.  
> > It could be solved by adding memdev option to machine,
> > which would allow to specify backend object. And then on
> > top make -mem-path alias new option to clean thing up.  
> 
> Do you mean?
> 
> src vm: -m xG
> dst vm: -m xG,memdev=pc.ram -object 
> memory-backend-file,id=pc.ram,size=xG,mem-path=xxx,share=on ...
Yep, I've meant something like it

src vm: -m xG,memdev=SHARED_RAM -object memory-backend-file,id=SHARED_RAM,size=xG,mem-path=xxx,share=on
dst vm: -m xG,memdev=SHARED_RAM -object memory-backend-file,id=SHARED_RAM,size=xG,mem-path=xxx,share=on

or it could be -machine FOO,inital_ram_memdev=...
maybe making -M optional in this case as size is specified by backend

PS:
it's not a good idea to use QEMU's internal id 'pc.ram'
for user specified objects as it might cause problems.

  reply	other threads:[~2018-02-08 11:30 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-05 14:58 [Qemu-devel] [RFC] exec: eliminate ram naming issue as migration Jianfeng Tan
2018-02-05 15:45 ` no-reply
2018-02-05 15:53 ` Paolo Bonzini
2018-02-05 16:12   ` Tan, Jianfeng
2018-02-05 16:19     ` Paolo Bonzini
2018-02-05 16:44       ` Tan, Jianfeng
2018-02-05 16:53         ` Paolo Bonzini
2018-02-05 17:15       ` Igor Mammedov
2018-02-05 17:31         ` Paolo Bonzini
2018-02-07  7:49           ` Tan, Jianfeng
2018-02-07 12:06             ` Igor Mammedov
2018-02-08  1:20               ` Tan, Jianfeng
2018-02-08  9:51                 ` Igor Mammedov
2018-02-08 10:18                   ` Tan, Jianfeng
2018-02-08 11:30                     ` Igor Mammedov [this message]
2018-02-24  3:08                       ` Tan, Jianfeng
2018-02-24  3:11                       ` Tan, Jianfeng
2018-02-26 12:55                         ` Igor Mammedov
2018-02-26 14:43                           ` Paolo Bonzini
2018-02-27  4:55                             ` Tan, Jianfeng
2018-02-27  4:36                           ` Tan, Jianfeng
2018-02-28 15:40                             ` Igor Mammedov
2018-02-05 18:44         ` Dr. David Alan Gilbert
2018-02-05 16:12 ` no-reply
2018-02-05 16:29 ` Igor Mammedov
2018-02-05 16:51   ` Tan, Jianfeng
2018-02-05 18:36     ` Dr. David Alan Gilbert
2018-02-06 15:24       ` Igor Mammedov

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=20180208123018.5b3c9da7@redhat.com \
    --to=imammedo@redhat.com \
    --cc=jasowang@redhat.com \
    --cc=jianfeng.tan@intel.com \
    --cc=maxime.coquelin@redhat.com \
    --cc=mst@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.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).