diff mbox

[RFC,03/12] migration: make qemu_savevm_state public.

Message ID 1395429454-24690-4-git-send-email-fred.konrad@greensocs.com
State New
Headers show

Commit Message

fred.konrad@greensocs.com March 21, 2014, 7:17 p.m. UTC
From: KONRAD Frederic <fred.konrad@greensocs.com>

This makes qemu_savevm_state public for reverse-execution.

Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com>
---
 include/sysemu/sysemu.h | 1 +
 savevm.c                | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

Comments

Dr. David Alan Gilbert March 21, 2014, 7:54 p.m. UTC | #1
* fred.konrad@greensocs.com (fred.konrad@greensocs.com) wrote:
> From: KONRAD Frederic <fred.konrad@greensocs.com>
> 
> This makes qemu_savevm_state public for reverse-execution.

It's interesting that you're doing this repetitive snapshot;
in some ways it's similar to Michael Hines's code for
Fault tolerance ( http://lists.gnu.org/archive/html/qemu-devel/2014-02/msg03042.html )

Dave

> Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com>
> ---
>  include/sysemu/sysemu.h | 1 +
>  savevm.c                | 2 +-
>  2 files changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/include/sysemu/sysemu.h b/include/sysemu/sysemu.h
> index 3915ce3..fe86615 100644
> --- a/include/sysemu/sysemu.h
> +++ b/include/sysemu/sysemu.h
> @@ -78,6 +78,7 @@ void do_info_snapshots(Monitor *mon, const QDict *qdict);
>  
>  void qemu_announce_self(void);
>  
> +int qemu_savevm_state(QEMUFile *f);
>  bool qemu_savevm_state_blocked(Error **errp);
>  void qemu_savevm_state_begin(QEMUFile *f,
>                               const MigrationParams *params);
> diff --git a/savevm.c b/savevm.c
> index d094fbb..e50b716 100644
> --- a/savevm.c
> +++ b/savevm.c
> @@ -635,7 +635,7 @@ void qemu_savevm_state_cancel(void)
>      }
>  }
>  
> -static int qemu_savevm_state(QEMUFile *f)
> +int qemu_savevm_state(QEMUFile *f)
>  {
>      int ret;
>      MigrationParams params = {
> -- 
> 1.8.1.4
> 
> 
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
fred.konrad@greensocs.com March 24, 2014, 3:05 p.m. UTC | #2
On 21/03/2014 20:54, Dr. David Alan Gilbert wrote:
> * fred.konrad@greensocs.com (fred.konrad@greensocs.com) wrote:
>> From: KONRAD Frederic <fred.konrad@greensocs.com>
>>
>> This makes qemu_savevm_state public for reverse-execution.
> It's interesting that you're doing this repetitive snapshot;
> in some ways it's similar to Michael Hines's code for
> Fault tolerance ( http://lists.gnu.org/archive/html/qemu-devel/2014-02/msg03042.html )
>
> Dave

Hi,

Thanks for the link I missed this.

Seems mc is using live migration and we just checkpoint the whole machine.

That might be a good improvment.

Fred

>
>> Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com>
>> ---
>>   include/sysemu/sysemu.h | 1 +
>>   savevm.c                | 2 +-
>>   2 files changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/include/sysemu/sysemu.h b/include/sysemu/sysemu.h
>> index 3915ce3..fe86615 100644
>> --- a/include/sysemu/sysemu.h
>> +++ b/include/sysemu/sysemu.h
>> @@ -78,6 +78,7 @@ void do_info_snapshots(Monitor *mon, const QDict *qdict);
>>   
>>   void qemu_announce_self(void);
>>   
>> +int qemu_savevm_state(QEMUFile *f);
>>   bool qemu_savevm_state_blocked(Error **errp);
>>   void qemu_savevm_state_begin(QEMUFile *f,
>>                                const MigrationParams *params);
>> diff --git a/savevm.c b/savevm.c
>> index d094fbb..e50b716 100644
>> --- a/savevm.c
>> +++ b/savevm.c
>> @@ -635,7 +635,7 @@ void qemu_savevm_state_cancel(void)
>>       }
>>   }
>>   
>> -static int qemu_savevm_state(QEMUFile *f)
>> +int qemu_savevm_state(QEMUFile *f)
>>   {
>>       int ret;
>>       MigrationParams params = {
>> -- 
>> 1.8.1.4
>>
>>
> --
> Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
>
Dr. David Alan Gilbert March 24, 2014, 5:52 p.m. UTC | #3
* Frederic Konrad (fred.konrad@greensocs.com) wrote:
> On 21/03/2014 20:54, Dr. David Alan Gilbert wrote:
> >* fred.konrad@greensocs.com (fred.konrad@greensocs.com) wrote:
> >>From: KONRAD Frederic <fred.konrad@greensocs.com>
> >>
> >>This makes qemu_savevm_state public for reverse-execution.
> >It's interesting that you're doing this repetitive snapshot;
> >in some ways it's similar to Michael Hines's code for
> >Fault tolerance ( http://lists.gnu.org/archive/html/qemu-devel/2014-02/msg03042.html )
> >
> >Dave
> 
> Hi,
> 
> Thanks for the link I missed this.
> 
> Seems mc is using live migration and we just checkpoint the whole machine.
> 
> That might be a good improvment.

I doubt it directly; there's not that much difference between snapshot to file
and migrate to file (if you follow the paths they take basically the same route;
I think the only thing is that the snapshot mechanism allows you to save snapshots
into an existing qcow2 file).

However, I was more pointing out the overlap in problem - both of you needing
to take regular snapshots (at probably as quick a rate as you can manage)
but with different criteria for the lifetime and reason for restoration
of the snap.

Dave

> 
> Fred
> 
> >
> >>Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com>
> >>---
> >>  include/sysemu/sysemu.h | 1 +
> >>  savevm.c                | 2 +-
> >>  2 files changed, 2 insertions(+), 1 deletion(-)
> >>
> >>diff --git a/include/sysemu/sysemu.h b/include/sysemu/sysemu.h
> >>index 3915ce3..fe86615 100644
> >>--- a/include/sysemu/sysemu.h
> >>+++ b/include/sysemu/sysemu.h
> >>@@ -78,6 +78,7 @@ void do_info_snapshots(Monitor *mon, const QDict *qdict);
> >>  void qemu_announce_self(void);
> >>+int qemu_savevm_state(QEMUFile *f);
> >>  bool qemu_savevm_state_blocked(Error **errp);
> >>  void qemu_savevm_state_begin(QEMUFile *f,
> >>                               const MigrationParams *params);
> >>diff --git a/savevm.c b/savevm.c
> >>index d094fbb..e50b716 100644
> >>--- a/savevm.c
> >>+++ b/savevm.c
> >>@@ -635,7 +635,7 @@ void qemu_savevm_state_cancel(void)
> >>      }
> >>  }
> >>-static int qemu_savevm_state(QEMUFile *f)
> >>+int qemu_savevm_state(QEMUFile *f)
> >>  {
> >>      int ret;
> >>      MigrationParams params = {
> >>-- 
> >>1.8.1.4
> >>
> >>
> >--
> >Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
> >
> 
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
diff mbox

Patch

diff --git a/include/sysemu/sysemu.h b/include/sysemu/sysemu.h
index 3915ce3..fe86615 100644
--- a/include/sysemu/sysemu.h
+++ b/include/sysemu/sysemu.h
@@ -78,6 +78,7 @@  void do_info_snapshots(Monitor *mon, const QDict *qdict);
 
 void qemu_announce_self(void);
 
+int qemu_savevm_state(QEMUFile *f);
 bool qemu_savevm_state_blocked(Error **errp);
 void qemu_savevm_state_begin(QEMUFile *f,
                              const MigrationParams *params);
diff --git a/savevm.c b/savevm.c
index d094fbb..e50b716 100644
--- a/savevm.c
+++ b/savevm.c
@@ -635,7 +635,7 @@  void qemu_savevm_state_cancel(void)
     }
 }
 
-static int qemu_savevm_state(QEMUFile *f)
+int qemu_savevm_state(QEMUFile *f)
 {
     int ret;
     MigrationParams params = {