From: Keir Fraser <keir@xensource.com>
To: "Zhai, Edwin" <edwin.zhai@intel.com>
Cc: Tim <Tim.Deegan@xensource.com>, Ewan Mellor <ewan@xensource.com>,
xen-devel@lists.xensource.com
Subject: Re: HVM save/restore issue
Date: Tue, 20 Mar 2007 10:01:48 +0000 [thread overview]
Message-ID: <C225618C.BD90%keir@xensource.com> (raw)
In-Reply-To: <20070320084652.GK21485@edwin-srv.sh.intel.com>
On 20/3/07 08:46, "Zhai, Edwin" <edwin.zhai@intel.com> wrote:
>> Out of interest: why would you do this? I glanced upon the code you are
>> referring to in xc_hvm_restore.c yesterday, and it struck me as particularly
>> gross. All three PFNs (ioreq, bufioreq, xenstore) could be saved in the
>> store after building the domain and then saved/restored as part of the
>> Python-saved data. The situation is easier than for a PV guest because PFNs
>
> save all PFNs directly is good idea. i have this code to keep create and
> restore
> process similar.
> i'd like directly save/restore all pfns in xc_hvm_{save,restore}. is this your
> want?
Other thoughts on xc_hvm_restore as it is right now, and its use/abuse of
'store_mfn' parameter to pass in memory_static_min. I think this can be
reasonably got rid of:
1. Do the setmaxmem hypercall in Python. There's no reason to be doing it
in xc_hvm_save().
2. Instead of preallocating the HVM memory, populate the physmap on demand
as we do now in xc_linux_restore. I'd do this by having an 'allocated
bitmap', indexed by guest pfn, where a '1' means that page is already
populated. Alternatively we might choose to avoid needing the bitmap by
always doing populate_physmap() whenever we see a pfn, and have Xen
guarantee that to be a no-op if RAM is already allocated at that pfn.
If we go the bitmap route I'd just make it big enough for a 4GB guest up
front (only 128kB required) and then realloc() it to be twice as big
whenever we go off the end of the current bitmap.
-- Keir
next prev parent reply other threads:[~2007-03-20 10:01 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-03-20 8:12 HVM save/restore issue Zhai, Edwin
2007-03-20 8:29 ` Keir Fraser
2007-03-20 8:46 ` Zhai, Edwin
2007-03-20 9:20 ` Keir Fraser
2007-03-20 10:01 ` Keir Fraser [this message]
2007-03-20 12:25 ` Zhai, Edwin
2007-03-20 10:04 ` Tim Deegan
-- strict thread matches above, loose matches on Subject: below --
2007-03-15 7:48 Zhai, Edwin
2007-03-15 10:02 ` Tim Deegan
2007-03-16 5:45 ` Zhai, Edwin
2007-03-16 9:58 ` Tim Deegan
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=C225618C.BD90%keir@xensource.com \
--to=keir@xensource.com \
--cc=Tim.Deegan@xensource.com \
--cc=edwin.zhai@intel.com \
--cc=ewan@xensource.com \
--cc=xen-devel@lists.xensource.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.