mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 23:33:54 -06:00
augment info migrate with page status
This patch augments info migrate output with status about: * ram bytes remaining * ram bytes transferred * ram bytes total This should be enough for management tools to realize whether or not there is progress in migration. We can add more information later on, if the need arrives [v2: fixes bytes_transferred type] Signed-off-by: Glauber Costa <glommer@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
ed8b330bcc
commit
9f9e28cda7
3 changed files with 27 additions and 1 deletions
21
vl.c
21
vl.c
|
@ -3234,6 +3234,7 @@ static int ram_save_block(QEMUFile *f)
|
|||
}
|
||||
|
||||
static ram_addr_t ram_save_threshold = 10;
|
||||
static uint64_t bytes_transferred = 0;
|
||||
|
||||
static ram_addr_t ram_save_remaining(void)
|
||||
{
|
||||
|
@ -3248,6 +3249,21 @@ static ram_addr_t ram_save_remaining(void)
|
|||
return count;
|
||||
}
|
||||
|
||||
uint64_t ram_bytes_remaining(void)
|
||||
{
|
||||
return ram_save_remaining() * TARGET_PAGE_SIZE;
|
||||
}
|
||||
|
||||
uint64_t ram_bytes_transferred(void)
|
||||
{
|
||||
return bytes_transferred;
|
||||
}
|
||||
|
||||
uint64_t ram_bytes_total(void)
|
||||
{
|
||||
return last_ram_offset;
|
||||
}
|
||||
|
||||
static int ram_save_live(QEMUFile *f, int stage, void *opaque)
|
||||
{
|
||||
ram_addr_t addr;
|
||||
|
@ -3269,6 +3285,7 @@ static int ram_save_live(QEMUFile *f, int stage, void *opaque)
|
|||
int ret;
|
||||
|
||||
ret = ram_save_block(f);
|
||||
bytes_transferred += ret * TARGET_PAGE_SIZE;
|
||||
if (ret == 0) /* no more blocks */
|
||||
break;
|
||||
}
|
||||
|
@ -3278,7 +3295,9 @@ static int ram_save_live(QEMUFile *f, int stage, void *opaque)
|
|||
if (stage == 3) {
|
||||
|
||||
/* flush all remaining blocks regardless of rate limiting */
|
||||
while (ram_save_block(f) != 0);
|
||||
while (ram_save_block(f) != 0) {
|
||||
bytes_transferred += TARGET_PAGE_SIZE;
|
||||
}
|
||||
cpu_physical_memory_set_dirty_tracking(0);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue