Branch: refs/heads/master Home: https://github.com/qemu/qemu Commit: ea134caa08ca86689a56665f30bebeb38c5cd1ab https://github.com/qemu/qemu/commit/ea134caa08ca86689a56665f30bebeb38c5cd1ab Author: Greg Kurz <gr...@kaod.org> Date: 2018-06-15 (Fri, 15 Jun 2018)
Changed paths: M include/migration/vmstate.h M include/qemu/typedefs.h M migration/qjson.h Log Message: ----------- typedefs: add QJSON Since commit 83ee768d6247b, we now have two places that define the QJSON type: $ git grep 'typedef struct QJSON QJSON' include/migration/vmstate.h:typedef struct QJSON QJSON; migration/qjson.h:typedef struct QJSON QJSON; This breaks docker-test-build@centos6: In file included from /tmp/qemu-test/src/migration/savevm.c:59: /tmp/qemu-test/src/migration/qjson.h:16: error: redefinition of typedef 'QJSON' /tmp/qemu-test/src/include/migration/vmstate.h:30: note: previous declaration of 'QJSON' was here make: *** [migration/savevm.o] Error 1 This happens because CentOS 6 has an old GCC 4.4.7. Even if redefining a typedef with the same type is permitted since GCC 4.6, unless -pedantic is passed, we don't really need to do that on purpose. Let's have a single definition in <qemu/typedefs.h> instead. Signed-off-by: Greg Kurz <gr...@kaod.org> Message-Id: <152844714981.11789.3657734445739553287.st...@bahia.lan> Reviewed-by: Dr. David Alan Gilbert <dgilb...@redhat.com> Signed-off-by: Dr. David Alan Gilbert <dgilb...@redhat.com> Commit: ff0769a4adf52299504642882efba83ca1340a80 https://github.com/qemu/qemu/commit/ff0769a4adf52299504642882efba83ca1340a80 Author: Dr. David Alan Gilbert <dgilb...@redhat.com> Date: 2018-06-15 (Fri, 15 Jun 2018) Changed paths: M migration/ram.c M migration/rdma.c Log Message: ----------- migration: Fixes for non-migratable RAMBlocks There are still a few cases where migration code is using the macros and functions that do all RAMBlocks rather than just the migratable blocks; fix those up. Signed-off-by: Dr. David Alan Gilbert <dgilb...@redhat.com> Message-Id: <20180605162545.80778-2-dgilb...@redhat.com> Reviewed-by: Peter Xu <pet...@redhat.com> Reviewed-by: Cédric Le Goater <c...@kaod.org> Signed-off-by: Dr. David Alan Gilbert <dgilb...@redhat.com> Commit: 343f632c70ab401b1343140c3b19c9fb99395323 https://github.com/qemu/qemu/commit/343f632c70ab401b1343140c3b19c9fb99395323 Author: Dr. David Alan Gilbert <dgilb...@redhat.com> Date: 2018-06-15 (Fri, 15 Jun 2018) Changed paths: M include/exec/ramlist.h M migration/migration.h M migration/ram.c Log Message: ----------- migration: Poison ramblock loops in migration The migration code should be using the RAMBLOCK_FOREACH_MIGRATABLE and qemu_ram_foreach_block_migratable not the all-block versions; poison them so that we can't accidentally use them. Signed-off-by: Dr. David Alan Gilbert <dgilb...@redhat.com> Message-Id: <20180605162545.80778-3-dgilb...@redhat.com> Reviewed-by: Peter Xu <pet...@redhat.com> Reviewed-by: Cédric Le Goater <c...@kaod.org> Signed-off-by: Dr. David Alan Gilbert <dgilb...@redhat.com> Commit: a36f6ff46f115672cf86d0e1e7cdb1c2fa4d304b https://github.com/qemu/qemu/commit/a36f6ff46f115672cf86d0e1e7cdb1c2fa4d304b Author: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> Date: 2018-06-15 (Fri, 15 Jun 2018) Changed paths: M migration/block-dirty-bitmap.c Log Message: ----------- migration/block-dirty-bitmap: fix dirty_bitmap_load dirty_bitmap_load_header return code is obtained but not handled. Fix this. Bug was introduced in b35ebdf076d697bc "migration: add postcopy migration of dirty bitmaps" with the whole function. Signed-off-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> Message-Id: <20180530112424.204835-1-vsement...@virtuozzo.com> Reviewed-by: Eric Blake <ebl...@redhat.com> Reviewed-by: John Snow <js...@redhat.com> Signed-off-by: Dr. David Alan Gilbert <dgilb...@redhat.com> Commit: e0e7a45d7fa64563191d3723fc4a4570122e6e42 https://github.com/qemu/qemu/commit/e0e7a45d7fa64563191d3723fc4a4570122e6e42 Author: Xiao Guangrong <xiaoguangr...@tencent.com> Date: 2018-06-15 (Fri, 15 Jun 2018) Changed paths: M migration/ram.c Log Message: ----------- migration: fix counting xbzrle cache_miss_rate Sync up xbzrle_cache_miss_prev only after migration iteration goes forward Signed-off-by: Xiao Guangrong <xiaoguangr...@tencent.com> Message-Id: <20180604095520.8563-4-xiaoguangr...@tencent.com> Reviewed-by: Dr. David Alan Gilbert <dgilb...@redhat.com> Signed-off-by: Dr. David Alan Gilbert <dgilb...@redhat.com> Commit: b734035b61c0943c11bc591549d81de3ed7c0029 https://github.com/qemu/qemu/commit/b734035b61c0943c11bc591549d81de3ed7c0029 Author: Xiao Guangrong <xiaoguangr...@tencent.com> Date: 2018-06-15 (Fri, 15 Jun 2018) Changed paths: M migration/ram.c Log Message: ----------- migration: introduce migration_update_rates It is used to slightly clean the code up, no logic is changed Signed-off-by: Xiao Guangrong <xiaoguangr...@tencent.com> Message-Id: <20180604095520.8563-5-xiaoguangr...@tencent.com> Reviewed-by: Dr. David Alan Gilbert <dgilb...@redhat.com> Signed-off-by: Dr. David Alan Gilbert <dgilb...@redhat.com> Commit: 7e555c6c58f095c9286814c3f9cd06196feba8a1 https://github.com/qemu/qemu/commit/7e555c6c58f095c9286814c3f9cd06196feba8a1 Author: Dr. David Alan Gilbert <dgilb...@redhat.com> Date: 2018-06-15 (Fri, 15 Jun 2018) Changed paths: M hmp.c M migration/migration.c M qapi/migration.json Log Message: ----------- migration/postcopy: Add max-postcopy-bandwidth parameter Limit the background transfer bandwidth during the postcopy phase to the value set on this new parameter. The default, 0, corresponds to the existing behaviour which is unlimited bandwidth. Signed-off-by: Dr. David Alan Gilbert <dgilb...@redhat.com> Message-Id: <20180613102642.23995-2-dgilb...@redhat.com> Reviewed-by: Peter Xu <pet...@redhat.com> Signed-off-by: Dr. David Alan Gilbert <dgilb...@redhat.com> Commit: ad767bed5af559ed32c6dabdcaccc3f75731e1f4 https://github.com/qemu/qemu/commit/ad767bed5af559ed32c6dabdcaccc3f75731e1f4 Author: Dr. David Alan Gilbert <dgilb...@redhat.com> Date: 2018-06-15 (Fri, 15 Jun 2018) Changed paths: M migration/migration.c M migration/migration.h M migration/trace-events Log Message: ----------- migration: Wake rate limiting for urgent requests Rate limiting sleeps the migration thread for a while when it runs out of bandwidth; but sometimes we want to wake up to get on with something more urgent (like a postcopy request). Here we use a semaphore with a timedwait instead of a simple sleep; Incrementing the sempahore will wake it up sooner. Anything that consumes these urgent events must decrement the sempahore. Signed-off-by: Dr. David Alan Gilbert <dgilb...@redhat.com> Message-Id: <20180613102642.23995-3-dgilb...@redhat.com> Reviewed-by: Peter Xu <pet...@redhat.com> Signed-off-by: Dr. David Alan Gilbert <dgilb...@redhat.com> Commit: e03a34f8f36e3b357d7a0c38e881fe183727b7ef https://github.com/qemu/qemu/commit/e03a34f8f36e3b357d7a0c38e881fe183727b7ef Author: Dr. David Alan Gilbert <dgilb...@redhat.com> Date: 2018-06-15 (Fri, 15 Jun 2018) Changed paths: M migration/ram.c Log Message: ----------- migration/postcopy: Wake rate limit sleep on postcopy request Use the 'urgent request' mechanism added in the previous patch for entries added to the postcopy request queue for RAM. Ignore the rate limiting while we have requests. Signed-off-by: Dr. David Alan Gilbert <dgilb...@redhat.com> Message-Id: <20180613102642.23995-4-dgilb...@redhat.com> Reviewed-by: Peter Xu <pet...@redhat.com> Signed-off-by: Dr. David Alan Gilbert <dgilb...@redhat.com> Commit: 650af8907bd567db914b7ce3a7e9df4c323f4619 https://github.com/qemu/qemu/commit/650af8907bd567db914b7ce3a7e9df4c323f4619 Author: Balamuruhan S <bal...@linux.vnet.ibm.com> Date: 2018-06-15 (Fri, 15 Jun 2018) Changed paths: M migration/migration.c M migration/ram.c Log Message: ----------- migration: calculate expected_downtime with ram_bytes_remaining() expected_downtime value is not accurate with dirty_pages_rate * page_size, using ram_bytes_remaining() would yeild it resonable. consider to read the remaining ram just after having updated the dirty pages count later migration_bitmap_sync_range() in migration_bitmap_sync() and reuse the `remaining` field in ram_counters to hold ram_bytes_remaining() for calculating expected_downtime. Reported-by: Michael Roth <mdr...@linux.vnet.ibm.com> Signed-off-by: Balamuruhan S <bal...@linux.vnet.ibm.com> Signed-off-by: Laurent Vivier <lviv...@redhat.com> Message-Id: <20180612085009.17594-2-bal...@linux.vnet.ibm.com> Reviewed-by: Dr. David Alan Gilbert <dgilb...@redhat.com> Signed-off-by: Dr. David Alan Gilbert <dgilb...@redhat.com> Commit: 2ef2f16781af9dee6ba6517755e9073ba5799fa2 https://github.com/qemu/qemu/commit/2ef2f16781af9dee6ba6517755e9073ba5799fa2 Author: Peter Maydell <peter.mayd...@linaro.org> Date: 2018-06-15 (Fri, 15 Jun 2018) Changed paths: M hmp.c M include/exec/ramlist.h M include/migration/vmstate.h M include/qemu/typedefs.h M migration/block-dirty-bitmap.c M migration/migration.c M migration/migration.h M migration/qjson.h M migration/ram.c M migration/rdma.c M migration/trace-events M qapi/migration.json Log Message: ----------- Merge remote-tracking branch 'remotes/dgilbert/tags/pull-migration-20180615a' into staging Migration pull 2018-06-15 # gpg: Signature made Fri 15 Jun 2018 16:13:17 BST # gpg: using RSA key 0516331EBC5BFDE7 # gpg: Good signature from "Dr. David Alan Gilbert (RH2) <dgilb...@redhat.com>" # Primary key fingerprint: 45F5 C71B 4A0C B7FB 977A 9FA9 0516 331E BC5B FDE7 * remotes/dgilbert/tags/pull-migration-20180615a: migration: calculate expected_downtime with ram_bytes_remaining() migration/postcopy: Wake rate limit sleep on postcopy request migration: Wake rate limiting for urgent requests migration/postcopy: Add max-postcopy-bandwidth parameter migration: introduce migration_update_rates migration: fix counting xbzrle cache_miss_rate migration/block-dirty-bitmap: fix dirty_bitmap_load migration: Poison ramblock loops in migration migration: Fixes for non-migratable RAMBlocks typedefs: add QJSON Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Compare: https://github.com/qemu/qemu/compare/42747d6abb50...2ef2f16781af **NOTE:** This service been marked for deprecation: https://developer.github.com/changes/2018-04-25-github-services-deprecation/ Functionality will be removed from GitHub.com on January 31st, 2019.