[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 02/18] savevm: export qemu_save_device_state()
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [PATCH 02/18] savevm: export qemu_save_device_state() |
Date: |
Wed, 21 Aug 2013 13:13:17 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130805 Thunderbird/17.0.8 |
Il 21/08/2013 09:18, Lei Li ha scritto:
> Export qemu_save_device_state() for localhost migration.
>
> Signed-off-by: Lei Li <address@hidden>
> ---
> include/sysemu/sysemu.h | 1 +
> savevm.c | 7 ++++++-
> 2 files changed, 7 insertions(+), 1 deletions(-)
>
> diff --git a/include/sysemu/sysemu.h b/include/sysemu/sysemu.h
> index d7a77b6..f1f15f4 100644
> --- a/include/sysemu/sysemu.h
> +++ b/include/sysemu/sysemu.h
> @@ -80,6 +80,7 @@ int qemu_savevm_state_iterate(QEMUFile *f);
> void qemu_savevm_state_complete(QEMUFile *f);
> void qemu_savevm_state_cancel(void);
> uint64_t qemu_savevm_state_pending(QEMUFile *f, uint64_t max_size);
> +int qemu_save_device_state(QEMUFile *f);
> int qemu_loadvm_state(QEMUFile *f);
>
> /* SLIRP */
> diff --git a/savevm.c b/savevm.c
> index 03fc4d9..f89e979 100644
> --- a/savevm.c
> +++ b/savevm.c
> @@ -2049,7 +2049,12 @@ static int qemu_savevm_state(QEMUFile *f)
> return ret;
> }
>
> -static int qemu_save_device_state(QEMUFile *f)
> +/**
> + * Save all of the device states to stream QEMUFile
> + *
> + * Return negative if there has been an error
> + **/
> +int qemu_save_device_state(QEMUFile *f)
> {
> SaveStateEntry *se;
>
>
This should also not be needed. Device state will be sent on the Unix
socket, while page data will be sent on the pipe.
I suggest you start from scratch. Do a simple RFC series that does
normal live migration with dirty bitmap, but uses a side channel (pipe
passed via SCM_RIGHTS) for RAM. This will ensure you get the hooks right.
Then you have two things to work on: (1) make the capability enforce
non-live migration, probably by adding another RunState and adding it to
runstate_needs_reset; (2) improve the hooks to use vmsplice.
Paolo
- [Qemu-devel] [PATCH 0/18 RFC v3] Localhost migration, Lei Li, 2013/08/21
- [Qemu-devel] [PATCH 01/18] migration: export MIG_STATE_xxx flags, Lei Li, 2013/08/21
- [Qemu-devel] [PATCH 02/18] savevm: export qemu_save_device_state(), Lei Li, 2013/08/21
- Re: [Qemu-devel] [PATCH 02/18] savevm: export qemu_save_device_state(),
Paolo Bonzini <=
- [Qemu-devel] [PATCH 03/18] rename is_active to is_block_active, Lei Li, 2013/08/21
- [Qemu-devel] [PATCH 04/18] savevm: set right return value for qemu_file_rate_limit, Lei Li, 2013/08/21
- Re: [Qemu-devel] [PATCH 04/18] savevm: set right return value for qemu_file_rate_limit, Paolo Bonzini, 2013/08/21
- Re: [Qemu-devel] [PATCH 04/18] savevm: set right return value for qemu_file_rate_limit, Lei Li, 2013/08/22
- Re: [Qemu-devel] [PATCH 04/18] savevm: set right return value for qemu_file_rate_limit, Paolo Bonzini, 2013/08/23
- Re: [Qemu-devel] [PATCH 04/18] savevm: set right return value for qemu_file_rate_limit, Lei Li, 2013/08/23
- Re: [Qemu-devel] [PATCH 04/18] savevm: set right return value for qemu_file_rate_limit, Paolo Bonzini, 2013/08/23
- Re: [Qemu-devel] [PATCH 04/18] savevm: set right return value for qemu_file_rate_limit, Lei Li, 2013/08/23
- Re: [Qemu-devel] [PATCH 04/18] savevm: set right return value for qemu_file_rate_limit, Paolo Bonzini, 2013/08/23
- Re: [Qemu-devel] [PATCH 04/18] savevm: set right return value for qemu_file_rate_limit, Lei Li, 2013/08/23