diff options
author | Anthony Liguori | 2012-08-13 23:02:11 +0200 |
---|---|---|
committer | Anthony Liguori | 2012-08-13 23:02:11 +0200 |
commit | ac839ccd8c30fe5706cc43f00e056049d6e55377 (patch) | |
tree | d2e37ee8bd7750ce1dd01c4dd6cec21a87551682 /migration.h | |
parent | Merge remote-tracking branch 'pmaydell/arm-devs.next' into staging (diff) | |
parent | Restart optimization on stage3 update version (diff) | |
download | qemu-ac839ccd8c30fe5706cc43f00e056049d6e55377.tar.gz qemu-ac839ccd8c30fe5706cc43f00e056049d6e55377.tar.xz qemu-ac839ccd8c30fe5706cc43f00e056049d6e55377.zip |
Merge remote-tracking branch 'quintela/migration-next-20120808' into staging
* quintela/migration-next-20120808:
Restart optimization on stage3 update version
Add XBZRLE statistics
Add migration accounting for normal and duplicate pages
Change total_time to total-time in MigrationStats
Add migrate_set_cache_size command
Add XBZRLE to ram_save_block and ram_save_live
Add xbzrle_encode_buffer and xbzrle_decode_buffer functions
Add uleb encoding/decoding functions
Add cache handling functions
Add XBZRLE documentation
Add migrate-set-capabilities
Add migration capabilities
Diffstat (limited to 'migration.h')
-rw-r--r-- | migration.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/migration.h b/migration.h index 57572a61e9..a9852fcae0 100644 --- a/migration.h +++ b/migration.h @@ -19,6 +19,7 @@ #include "notify.h" #include "error.h" #include "vmstate.h" +#include "qapi-types.h" struct MigrationParams { bool blk; @@ -39,6 +40,8 @@ struct MigrationState void *opaque; MigrationParams params; int64_t total_time; + bool enabled_capabilities[MIGRATION_CAPABILITY_MAX]; + int64_t xbzrle_cache_size; }; void process_incoming_migration(QEMUFile *f); @@ -84,6 +87,15 @@ uint64_t ram_bytes_total(void); extern SaveVMHandlers savevm_ram_handlers; +uint64_t dup_mig_bytes_transferred(void); +uint64_t dup_mig_pages_transferred(void); +uint64_t norm_mig_bytes_transferred(void); +uint64_t norm_mig_pages_transferred(void); +uint64_t xbzrle_mig_bytes_transferred(void); +uint64_t xbzrle_mig_pages_transferred(void); +uint64_t xbzrle_mig_pages_overflow(void); +uint64_t xbzrle_mig_pages_cache_miss(void); + /** * @migrate_add_blocker - prevent migration from proceeding * @@ -98,4 +110,13 @@ void migrate_add_blocker(Error *reason); */ void migrate_del_blocker(Error *reason); +int xbzrle_encode_buffer(uint8_t *old_buf, uint8_t *new_buf, int slen, + uint8_t *dst, int dlen); +int xbzrle_decode_buffer(uint8_t *src, int slen, uint8_t *dst, int dlen); + +int migrate_use_xbzrle(void); +int64_t migrate_xbzrle_cache_size(void); + +int64_t xbzrle_cache_resize(int64_t new_size); + #endif |