#
a3f1f040 |
| 19-Jul-2014 |
Alex Bligh <alex@alex.org.uk> |
Show length mismatch error is hex
When live migrate fails due to a section length mismatch we currently see an error message like:
Length mismatch: 0000:00:03.0/virtio-net-pci.rom: 10000 in != 2000
Show length mismatch error is hex
When live migrate fails due to a section length mismatch we currently see an error message like:
Length mismatch: 0000:00:03.0/virtio-net-pci.rom: 10000 in != 20000
The section lengths are in fact in hex, so this should read
Length mismatch: 0000:00:03.0/virtio-net-pci.rom: 0x10000 in != 0x20000
Correct the error string to reflect this.
Signed-off-by: Alex Bligh <alex@alex.org.uk> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
show more ...
|
#
db80face |
| 10-Jun-2014 |
Peter Lieven <pl@kamp.de> |
migration: catch unknown flags in ram_load
if a saved vm has unknown flags in the memory data qemu currently simply ignores this flag and continues which yields in an unpredictable result.
This pat
migration: catch unknown flags in ram_load
if a saved vm has unknown flags in the memory data qemu currently simply ignores this flag and continues which yields in an unpredictable result.
This patch catches all unknown flags and aborts the loading of the vm. Additionally error reports are thrown if the migration aborts abnormally.
Signed-off-by: Peter Lieven <pl@kamp.de> Signed-off-by: Juan Quintela <quintela@redhat.com>
show more ...
|
#
4380be0e |
| 02-Jun-2014 |
Chen Gang <gang.chen.5i5j@gmail.com> |
migration: Plug memory leak in migrate-set-cache-size command
We call g_free() after cache_fini() in migration_end(), but we don't call it after cache_fini() in xbzrle_cache_resize(), leaking the me
migration: Plug memory leak in migrate-set-cache-size command
We call g_free() after cache_fini() in migration_end(), but we don't call it after cache_fini() in xbzrle_cache_resize(), leaking the memory.
cache_init() and cache_fini() are a pair. Since cache_init() allocates the cache, let cache_fini() free it. This plugs the leak.
Signed-off-by: Chen Gang <gang.chen.5i5j@gmail.com> Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
show more ...
|
#
0971f1be |
| 21-May-2014 |
Le Tan <tamlokveer@gmail.com> |
arch_init: replace fprintf(stderr, ...) with error_report()
Replace fprintf(stderr,...) with error_report() in the file arch_init.c. The trailing "\n"s of the @fmt argument have been removed because
arch_init: replace fprintf(stderr, ...) with error_report()
Replace fprintf(stderr,...) with error_report() in the file arch_init.c. The trailing "\n"s of the @fmt argument have been removed because @fmt of error_report() should not contain newline.
Signed-off-by: Le Tan <tamlokveer@gmail.com> Reviewed-by: Andreas Färber <afaerber@suse.de> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
show more ...
|
#
14bcfdc7 |
| 09-May-2014 |
Dr. David Alan Gilbert <dgilbert@redhat.com> |
Split ram_save_block
ram_save_block is getting a bit too complicated, and does two separate things: 1) Finds a page to send 2) Sends the page (dealing with compression etc)
Split into 'ram_sa
Split ram_save_block
ram_save_block is getting a bit too complicated, and does two separate things: 1) Finds a page to send 2) Sends the page (dealing with compression etc)
Split into 'ram_save_page' to send the page and deal with compression (2) Rename remaining function to 'ram_find_and_save_block'
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Signed-off-by: Juan Quintela <quintela@redhat.com>
show more ...
|
#
fb626663 |
| 10-May-2014 |
Chen Gang <gang.chen.5i5j@gmail.com> |
arch_init: Simplify code for load_xbzrle()
For xbzrle_decode_buffer(), when decoding contents will exceed writing buffer, it will return -1, so need not check the return value whether large than wri
arch_init: Simplify code for load_xbzrle()
For xbzrle_decode_buffer(), when decoding contents will exceed writing buffer, it will return -1, so need not check the return value whether large than writing buffer.
And when failure occurs within load_xbzrle(), it always return -1 without any resources which need release.
So can remove the related checking statements, and also can remove 'rc' and 'ret' local variables,
Signed-off-by: Chen Gang <gang.chen.5i5j@gmail.com> Signed-off-by: Juan Quintela <quintela@redhat.com>
show more ...
|
#
4798fe55 |
| 01-May-2014 |
Chen Gang <gang.chen.5i5j@gmail.com> |
arch_init: Be sure of only one exit entry with DPRINTF() for ram_load()
When DPRINTF() has effect, the original author wants to print all ram_load() calling results. So need use 'goto' instead of 'r
arch_init: Be sure of only one exit entry with DPRINTF() for ram_load()
When DPRINTF() has effect, the original author wants to print all ram_load() calling results. So need use 'goto' instead of 'return' within ram_load(), just like other areas have done.
Signed-off-by: Chen Gang <gang.chen.5i5j@gmail.com> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
show more ...
|
#
8bc39233 |
| 04-Apr-2014 |
ChenLiang <chenliang88@huawei.com> |
migration: expose xbzrle cache miss rate
expose xbzrle cache miss rate
Signed-off-by: ChenLiang <chenliang88@huawei.com> Signed-off-by: Gonglei <arei.gonglei@huawei.com> Reviewed-by: Eric Blake <eb
migration: expose xbzrle cache miss rate
expose xbzrle cache miss rate
Signed-off-by: ChenLiang <chenliang88@huawei.com> Signed-off-by: Gonglei <arei.gonglei@huawei.com> Reviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: Juan Quintela <quintela@redhat.com>
show more ...
|
#
58570ed8 |
| 04-Apr-2014 |
ChenLiang <chenliang88@huawei.com> |
migration: expose the bitmap_sync_count to the end
expose the count that logs the times of updating the dirty bitmap to end user.
Signed-off-by: ChenLiang <chenliang88@huawei.com> Signed-off-by: Go
migration: expose the bitmap_sync_count to the end
expose the count that logs the times of updating the dirty bitmap to end user.
Signed-off-by: ChenLiang <chenliang88@huawei.com> Signed-off-by: Gonglei <arei.gonglei@huawei.com> Reviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: Juan Quintela <quintela@redhat.com>
show more ...
|
#
71411d35 |
| 04-Apr-2014 |
ChenLiang <chenliang88@huawei.com> |
migration: Add counts of updating the dirty bitmap
Add counts to log the times of updating the dirty bitmap.
Signed-off-by: ChenLiang <chenliang88@huawei.com> Signed-off-by: Gonglei <arei.gonglei@h
migration: Add counts of updating the dirty bitmap
Add counts to log the times of updating the dirty bitmap.
Signed-off-by: ChenLiang <chenliang88@huawei.com> Signed-off-by: Gonglei <arei.gonglei@huawei.com> Reviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: Juan Quintela <quintela@redhat.com>
show more ...
|
#
1534ee93 |
| 04-Apr-2014 |
ChenLiang <chenliang88@huawei.com> |
XBZRLE: Fix one XBZRLE corruption issues
The page may not be inserted into cache after executing save_xbzrle_page. In case of failure to insert, the original page should be sent rather than the page
XBZRLE: Fix one XBZRLE corruption issues
The page may not be inserted into cache after executing save_xbzrle_page. In case of failure to insert, the original page should be sent rather than the page in the cache.
Signed-off-by: ChenLiang <chenliang88@huawei.com> Signed-off-by: Gonglei <arei.gonglei@huawei.com> Reviewed-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Juan Quintela <quintela@redhat.com>
show more ...
|
#
21a246a4 |
| 25-Apr-2014 |
ChenLiang <chenliang88@huawei.com> |
migration: remove duplicate code
version_id is checked twice in the ram_load.
Signed-off-by: ChenLiang <chenliang88@huawei.com> Signed-off-by: Gonglei <arei.gonglei@huawei.com> Signed-off-by: Juan
migration: remove duplicate code
version_id is checked twice in the ram_load.
Signed-off-by: ChenLiang <chenliang88@huawei.com> Signed-off-by: Gonglei <arei.gonglei@huawei.com> Signed-off-by: Juan Quintela <quintela@redhat.com>
show more ...
|
#
d97326ee |
| 19-Mar-2014 |
Dr. David Alan Gilbert <dgilbert@redhat.com> |
Init the XBZRLE.lock in ram_mig_init
Initialising the XBZRLE.lock earlier simplifies the lock use.
Based on Markus's patch in: http://lists.gnu.org/archive/html/qemu-devel/2014-03/msg03879.html
Si
Init the XBZRLE.lock in ram_mig_init
Initialising the XBZRLE.lock earlier simplifies the lock use.
Based on Markus's patch in: http://lists.gnu.org/archive/html/qemu-devel/2014-03/msg03879.html
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Reviewed-by: Gonglei <arei.gonglei@huawei.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Juan Quintela <quintela@redhat.com>
show more ...
|
#
0d6ab3ab |
| 19-Mar-2014 |
Dr. David Alan Gilbert <dgilbert@redhat.com> |
Provide init function for ram migration
Provide ram_mig_init (like blk_mig_init) for vl.c to initialise stuff to do with ram migration (currently in arch_init.c).
Signed-off-by: Dr. David Alan Gilb
Provide init function for ram migration
Provide ram_mig_init (like blk_mig_init) for vl.c to initialise stuff to do with ram migration (currently in arch_init.c).
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Reviewed-by: Gonglei <arei.gonglei@huawei.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Juan Quintela <quintela@redhat.com>
show more ...
|
#
e30d1d8c |
| 27-Mar-2014 |
Dr. David Alan Gilbert <dgilbert@redhat.com> |
Count used RAMBlock pages for migration_dirty_pages
This is a fix for a bug* triggered by a migration after hot unplugging a few virtio-net NICs, that caused migration never to converge, because 'mi
Count used RAMBlock pages for migration_dirty_pages
This is a fix for a bug* triggered by a migration after hot unplugging a few virtio-net NICs, that caused migration never to converge, because 'migration_dirty_pages' is incorrectly initialised.
'migration_dirty_pages' is used as a tally of the number of outstanding dirty pages, to give the migration code an idea of how much more data will need to be transferred, and thus whether it can end the iterative phase.
It was initialised to the total size of the RAMBlock address space, however hotunplug can leave this space sparse, and hence migration_dirty_pages ended up too large.
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
(* https://bugzilla.redhat.com/show_bug.cgi?id=1074913 )
Signed-off-by: Juan Quintela <quintela@redhat.com>
show more ...
|
#
fd8cec93 |
| 04-Mar-2014 |
Gonglei <arei.gonglei@huawei.com> |
XBZRLE: Fix qemu crash when resize the xbzrle cache
Resizing the xbzrle cache during migration causes qemu-crash, because the main-thread and migration-thread modify the xbzrle cache size concurrent
XBZRLE: Fix qemu crash when resize the xbzrle cache
Resizing the xbzrle cache during migration causes qemu-crash, because the main-thread and migration-thread modify the xbzrle cache size concurrently without lock-protection.
Signed-off-by: ChenLiang <chenliang88@huawei.com> Signed-off-by: Gonglei <arei.gonglei@huawei.com> Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Signed-off-by: Juan Quintela <quintela@redhat.com>
show more ...
|
#
6d3cb1f9 |
| 13-Feb-2014 |
Dr. David Alan Gilbert <dgilbert@redhat.com> |
Fix two XBZRLE corruption issues
Push zero'd pages into the XBZRLE cache A page that was cached by XBZRLE, zero'd and then XBZRLE'd again was being compared against a stale cache value
Don'
Fix two XBZRLE corruption issues
Push zero'd pages into the XBZRLE cache A page that was cached by XBZRLE, zero'd and then XBZRLE'd again was being compared against a stale cache value
Don't use 'qemu_put_buffer_async' to put pages from the XBZRLE cache Since the cache might change before the data hits the wire
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Signed-off-by: Juan Quintela <quintela@redhat.com>
show more ...
|
#
89db9987 |
| 30-Jan-2014 |
Orit Wasserman <owasserm@redhat.com> |
Don't abort on memory allocation error
It is better to fail migration in case of failure to allocate new cache item
Signed-off-by: Orit Wasserman <owasserm@redhat.com> Reviewed-by: Dr. David Alan G
Don't abort on memory allocation error
It is better to fail migration in case of failure to allocate new cache item
Signed-off-by: Orit Wasserman <owasserm@redhat.com> Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Signed-off-by: Juan Quintela <quintela@redhat.com>
show more ...
|
#
a17b2fd3 |
| 30-Jan-2014 |
Orit Wasserman <owasserm@redhat.com> |
Don't abort on out of memory when creating page cache
Signed-off-by: Orit Wasserman <owasserm@redhat.com> Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Signed-off-by: Juan Quintela <quin
Don't abort on out of memory when creating page cache
Signed-off-by: Orit Wasserman <owasserm@redhat.com> Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Signed-off-by: Juan Quintela <quintela@redhat.com>
show more ...
|
#
905f26f2 |
| 30-Jan-2014 |
Gonglei (Arei) <arei.gonglei@huawei.com> |
migration:fix free XBZRLE decoded_buf wrong
When qemu do live migration with xbzrle, qemu malloc decoded_buf at destination end but free it at source end. It will crash qemu by double free error in
migration:fix free XBZRLE decoded_buf wrong
When qemu do live migration with xbzrle, qemu malloc decoded_buf at destination end but free it at source end. It will crash qemu by double free error in some scenarios. Splitting the XBZRLE structure for clear logic distinguishing src/dst side.
Signed-off-by: ChenLiang <chenliang88@huawei.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Orit Wasserman <owasserm@redhat.com> Signed-off-by: GongLei <arei.gonglei@huawei.com> Signed-off-by: Juan Quintela <quintela@redhat.com>
show more ...
|
#
c91e681a |
| 30-Jan-2014 |
Orit Wasserman <owasserm@redhat.com> |
Add check for cache size smaller than page size
Signed-off-by: Orit Wasserman <owasserm@redhat.com> Reviewed-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Juan Quintela <quintela@redhat.com>
|
#
f6c6483b |
| 30-Jan-2014 |
Orit Wasserman <owasserm@redhat.com> |
Set xbzrle buffers to NULL after freeing them to avoid double free errors
Signed-off-by: Orit Wasserman <owasserm@redhat.com> Reviewed-by: Juan Quintela <quintela@redhat.com> Reviewed-by: Eric Blake
Set xbzrle buffers to NULL after freeing them to avoid double free errors
Signed-off-by: Orit Wasserman <owasserm@redhat.com> Reviewed-by: Juan Quintela <quintela@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: Juan Quintela <quintela@redhat.com>
show more ...
|
#
aa8dc044 |
| 06-Nov-2013 |
Juan Quintela <quintela@redhat.com> |
migration: synchronize memory bitmap 64bits at a time
We use the old code if the bitmaps are not aligned
Signed-off-by: Juan Quintela <quintela@redhat.com> Reviewed-by: Orit Wasserman <owasserm@red
migration: synchronize memory bitmap 64bits at a time
We use the old code if the bitmaps are not aligned
Signed-off-by: Juan Quintela <quintela@redhat.com> Reviewed-by: Orit Wasserman <owasserm@redhat.com>
show more ...
|
#
791fa2a2 |
| 05-Nov-2013 |
Juan Quintela <quintela@redhat.com> |
ram: split function that synchronizes a range
This function is the only bit where we care about speed.
Signed-off-by: Juan Quintela <quintela@redhat.com> Reviewed-by: Orit Wasserman <owasserm@redha
ram: split function that synchronizes a range
This function is the only bit where we care about speed.
Signed-off-by: Juan Quintela <quintela@redhat.com> Reviewed-by: Orit Wasserman <owasserm@redhat.com>
show more ...
|
#
12291ec1 |
| 14-Oct-2013 |
Juan Quintela <quintela@redhat.com> |
memory: unfold memory_region_test_and_clear()
We are going to update the bitmap directly
Signed-off-by: Juan Quintela <quintela@redhat.com> Reviewed-by: Orit Wasserman <owasserm@redhat.com>
|