mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-05 16:53:55 -06:00
migration: implementation of background snapshot thread
Introducing implementation of 'background' snapshot thread which in overall follows the logic of precopy migration while internally utilizes completely different mechanism to 'freeze' vmstate at the start of snapshot creation. This mechanism is based on userfault_fd with wr-protection support and is Linux-specific. Signed-off-by: Andrey Gruzdev <andrey.gruzdev@virtuozzo.com> Acked-by: Peter Xu <peterx@redhat.com> Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Message-Id: <20210129101407.103458-5-andrey.gruzdev@virtuozzo.com> Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
This commit is contained in:
parent
278e2f551a
commit
8518278a6a
4 changed files with 258 additions and 3 deletions
|
@ -20,6 +20,7 @@
|
|||
#include "qemu/thread.h"
|
||||
#include "qemu/coroutine_int.h"
|
||||
#include "io/channel.h"
|
||||
#include "io/channel-buffer.h"
|
||||
#include "net/announce.h"
|
||||
#include "qom/object.h"
|
||||
|
||||
|
@ -147,8 +148,10 @@ struct MigrationState {
|
|||
|
||||
/*< public >*/
|
||||
QemuThread thread;
|
||||
QEMUBH *vm_start_bh;
|
||||
QEMUBH *cleanup_bh;
|
||||
QEMUFile *to_dst_file;
|
||||
QIOChannelBuffer *bioc;
|
||||
/*
|
||||
* Protects to_dst_file pointer. We need to make sure we won't
|
||||
* yield or hang during the critical section, since this lock will
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue