From: Avi Kivity <avi@redhat.com>
To: Isaku Yamahata <yamahata@valinux.co.jp>
Cc: t.hirofuchi@aist.go.jp, qemu-devel@nongnu.org,
kvm@vger.kernel.org, satoshi.itoh@aist.go.jp
Subject: Re: [Qemu-devel] [PATCH 21/21] postcopy: implement postcopy livemigration
Date: Thu, 12 Jan 2012 16:15:42 +0200 [thread overview]
Message-ID: <4F0EEB0E.6080308@redhat.com> (raw)
In-Reply-To: <20120104032934.GM19274@valinux.co.jp>
On 01/04/2012 05:29 AM, Isaku Yamahata wrote:
> On Thu, Dec 29, 2011 at 06:06:10PM +0200, Avi Kivity wrote:
> > On 12/29/2011 03:26 AM, Isaku Yamahata wrote:
> > > This patch implements postcopy livemigration.
> > >
> > >
> > > +/* RAM is allocated via umem for postcopy incoming mode */
> > > +#define RAM_POSTCOPY_UMEM_MASK (1 << 1)
> > > +
> > > typedef struct RAMBlock {
> > > uint8_t *host;
> > > ram_addr_t offset;
> > > @@ -485,6 +488,10 @@ typedef struct RAMBlock {
> > > #if defined(__linux__) && !defined(TARGET_S390X)
> > > int fd;
> > > #endif
> > > +
> > > +#ifdef CONFIG_POSTCOPY
> > > + UMem *umem; /* for incoming postcopy mode */
> > > +#endif
> > > } RAMBlock;
> >
> > Is it possible to implement this via the MemoryListener API (which
> > replaces CPUPhysMemoryClient)? This is how kvm, vhost, and xen manage
> > their memory tables.
>
> I'm afraid no. Those three you listed above are for outgoing part,
> but this case is for incoming part. The requirement is quite different
> from those three. What is needed is
> - get the corresponding RAMBlock and UMem from (id, idlen)
> - hook ram_alloc/ram_free (or RAM api corresponding)
>
Okay. We'll need more hooks then. Xen already hooks qemu_ram_alloc(),
so there's more than one user.
But don't spend time on this; this area is in flux due to the memory
API, so any effort will be wasted. I'll look at adding those hooks,
either before or after postcopy is merged.
--
error compiling committee.c: too many arguments to function
next prev parent reply other threads:[~2012-01-12 14:15 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-12-29 1:25 [Qemu-devel] [PATCH 00/21][RFC] postcopy live migration Isaku Yamahata
2011-12-29 1:25 ` [Qemu-devel] [PATCH 01/21] arch_init: export sort_ram_list() and ram_save_block() Isaku Yamahata
2011-12-29 1:25 ` [Qemu-devel] [PATCH 02/21] arch_init: export RAM_SAVE_xxx flags for postcopy Isaku Yamahata
2011-12-29 1:25 ` [Qemu-devel] [PATCH 03/21] arch_init/ram_save: introduce constant for ram save version = 4 Isaku Yamahata
2011-12-29 1:25 ` [Qemu-devel] [PATCH 04/21] arch_init: refactor host_from_stream_offset() Isaku Yamahata
2011-12-29 1:25 ` [Qemu-devel] [PATCH 05/21] arch_init/ram_save_live: factor out RAM_SAVE_FLAG_MEM_SIZE case Isaku Yamahata
2011-12-29 1:25 ` [Qemu-devel] [PATCH 06/21] arch_init: refactor ram_save_block() Isaku Yamahata
2011-12-29 1:25 ` [Qemu-devel] [PATCH 07/21] arch_init/ram_save_live: factor out ram_save_limit Isaku Yamahata
2011-12-29 1:25 ` [Qemu-devel] [PATCH 08/21] arch_init/ram_load: refactor ram_load Isaku Yamahata
2011-12-29 1:25 ` [Qemu-devel] [PATCH 09/21] exec.c: factor out qemu_get_ram_ptr() Isaku Yamahata
2011-12-29 1:25 ` [Qemu-devel] [PATCH 10/21] exec.c: export last_ram_offset() Isaku Yamahata
2011-12-29 1:25 ` [Qemu-devel] [PATCH 11/21] savevm: export qemu_peek_buffer, qemu_peek_byte, qemu_file_skip Isaku Yamahata
2011-12-29 1:25 ` [Qemu-devel] [PATCH 12/21] savevm: qemu_pending_size() to return pending buffered size Isaku Yamahata
2011-12-29 1:25 ` [Qemu-devel] [PATCH 13/21] savevm, buffered_file: introduce method to drain buffer of buffered file Isaku Yamahata
2011-12-29 1:25 ` [Qemu-devel] [PATCH 14/21] migration: export migrate_fd_completed() and migrate_fd_cleanup() Isaku Yamahata
2011-12-29 1:25 ` [Qemu-devel] [PATCH 15/21] migration: factor out parameters into MigrationParams Isaku Yamahata
2011-12-29 1:25 ` [Qemu-devel] [PATCH 16/21] umem.h: import Linux umem.h Isaku Yamahata
2011-12-29 1:25 ` [Qemu-devel] [PATCH 17/21] update-linux-headers.sh: teach umem.h to update-linux-headers.sh Isaku Yamahata
2011-12-29 1:25 ` [Qemu-devel] [PATCH 18/21] configure: add CONFIG_POSTCOPY option Isaku Yamahata
2011-12-29 1:25 ` [Qemu-devel] [PATCH 19/21] postcopy: introduce -postcopy and -postcopy-flags option Isaku Yamahata
2011-12-29 1:25 ` [Qemu-devel] [PATCH 20/21] postcopy outgoing: add -p and -n option to migrate command Isaku Yamahata
2011-12-29 1:26 ` [Qemu-devel] [PATCH 21/21] postcopy: implement postcopy livemigration Isaku Yamahata
2011-12-29 15:51 ` Orit Wasserman
2012-01-04 3:34 ` Isaku Yamahata
2011-12-29 16:06 ` Avi Kivity
2012-01-04 3:29 ` Isaku Yamahata
2012-01-12 14:15 ` Avi Kivity [this message]
2011-12-29 22:39 ` [Qemu-devel] [PATCH 00/21][RFC] postcopy live migration Anthony Liguori
2012-01-01 9:43 ` Orit Wasserman
2012-01-01 16:27 ` Stefan Hajnoczi
2012-01-02 9:28 ` Dor Laor
2012-01-02 17:22 ` Stefan Hajnoczi
2012-01-01 9:52 ` Dor Laor
2012-01-04 1:30 ` Takuya Yoshikawa
2012-01-04 3:48 ` Michael Roth
2012-01-04 3:51 ` Isaku Yamahata
[not found] ` <BLU0-SMTP161AC380D472854F48E33A5BC9A0@phx.gbl>
2012-01-11 2:45 ` [Qemu-devel] 回??: " Isaku Yamahata
2012-01-12 8:29 ` thfbjyddx
2012-01-12 8:54 ` [Qemu-devel] 回??: [PATCH 00/21][RFC] postcopy live?migration Isaku Yamahata
2012-01-12 13:26 ` thfbjyddx
2012-01-16 6:51 ` Isaku Yamahata
2012-01-16 10:17 ` Isaku Yamahata
2012-03-12 8:36 ` thfbjyddx
2012-03-13 3:21 ` Isaku Yamahata
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=4F0EEB0E.6080308@redhat.com \
--to=avi@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=qemu-devel@nongnu.org \
--cc=satoshi.itoh@aist.go.jp \
--cc=t.hirofuchi@aist.go.jp \
--cc=yamahata@valinux.co.jp \
/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).