qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
To: "Li, Tianyou" <tianyou.li@intel.com>
Cc: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] Persistent Main Memory in QEmu
Date: Thu, 21 Apr 2016 09:06:50 +0100	[thread overview]
Message-ID: <20160421080649.GA2268@work-vm> (raw)
In-Reply-To: <1A93516D63C74545A87B6EF0983F2B1F052EB19A@SHSMSX103.ccr.corp.intel.com>

* Li, Tianyou (tianyou.li@intel.com) wrote:
> Hi Dave,
> 
> Thanks for your response. Below are my explanations:
> 
> > Can you explain what you mean by 'persistent' - where do you intend to store the guests memory?
> 
> There could be a file or memory region that can survive across guest shutdown/reboot. Seems Artyom has pointed out the right direction and I have verified by looking into the code throughout the call stack from pc_memory_init to qemu_ram_alloc_from_file. I plan to write something like kernel module to verify the persistency characteristics from guest point of view.

Maybe it's worth checking the stuff in docs/memory-hotplug.txt - that shows how to create a
memory region backed by a file (in that case using a hugepagefs - but I think it's general).
Note, I don't think there's a way to use that at the moment for main PC memory.

> 
> > Also, remember that you'll need to save/load the device state as well as the rest of RAM.  
> 
> Device state handling could be done from two different aspects: 1. From host perspective or, 2. From guest perspective. From host, qemu will always know the state of guest devices so that we can use qemu command to checkpoint states, as you point out (very appreciated that, I do not know the command xen-save-devices-state before). From guest, it can be something like suspend to RAM or S3 for PC to checkpoint the current state of PC and restore them when wakeup. Currently I will prefer the #2. 
> 
> In summary, I'd like to have the functionality in qemu that can save & restore PC main memory at shutdown/power-on phase. Thanks.

Dave

> 
> Regards,
> Tianyou
> 
> 
> -----Original Message-----
> From: Dr. David Alan Gilbert [mailto:dgilbert@redhat.com] 
> Sent: Wednesday, April 20, 2016 4:36 PM
> To: Li, Tianyou <tianyou.li@intel.com>
> Cc: qemu-devel@nongnu.org
> Subject: Re: [Qemu-devel] Persistent Main Memory in QEmu
> 
> * Li, Tianyou (tianyou.li@intel.com) wrote:
> > Hi,
> > 
> > Currently we are trying to implement below functionalities in QEmu: main memory in guest can be logically viewed as persistent and its content can be survived through reboot or shutdown/powerup.
> > 
> > I have looked into the QEmu memory management code include memory.c, exec.c and other related source, unfortunately I do not have the chance to get clue of how to make QEmu main memory persistent. I found that pmemsave<http://doc.opensuse.org/documentation/html/openSUSE_114/opensuse-kvm/cha.qemu.monitor.html#id547777> could dump physical memory of guest, but I could not find how to restore the dump file before VM startup to execution.
> 
> Can you explain what you mean by 'persistent' - where do you intend to store the guests memory?
> Also, remember that you'll need to save/load the device state as well as the rest of RAM.  If you've got a way to preserve RAM then maybe hte xen-save-devices-state qemu command could be used to store the rest of devices.
> 
> Dave
> 
> > 
> > Could anyone provide some hints to me? Thanks in advance!
> > 
> > Regards,
> > Tianyou
> --
> Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK

      reply	other threads:[~2016-04-21  8:07 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-18  3:50 [Qemu-devel] Persistent Main Memory in QEmu Li, Tianyou
2016-04-18 20:19 ` Artyom Tarasenko
2016-04-19  2:52   ` Li, Tianyou
2016-04-21 10:47   ` Li, Tianyou
2016-04-21 10:51     ` Dr. David Alan Gilbert
2016-04-22  3:09       ` Li, Tianyou
2016-04-22 15:35       ` Li, Tianyou
2016-04-22 15:50         ` Artyom Tarasenko
2016-04-22 15:52           ` Li, Tianyou
2016-04-20  8:36 ` Dr. David Alan Gilbert
2016-04-21  0:59   ` Li, Tianyou
2016-04-21  8:06     ` Dr. David Alan Gilbert [this message]

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=20160421080649.GA2268@work-vm \
    --to=dgilbert@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=tianyou.li@intel.com \
    /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).