Message ID | 1395429454-24690-4-git-send-email-fred.konrad@greensocs.com |
---|---|
State | New |
Headers | show |
* 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
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 >
* 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 --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 = {