mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-05 16:53:55 -06:00
Migration pull 2022-07-20
This replaces yesterdays pull and: a) Fixes some test build errors without TLS b) Reenabled the zlib acceleration on s390 now that we have Ilya's fix Hyman's dirty page rate limit set Ilya's fix for zlib vs migration Peter's postcopy-preempt Cleanup from Dan zero-copy tidy ups from Leo multifd doc fix from Juan Revert disable of zlib acceleration on s390x Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com> -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEERfXHG0oMt/uXep+pBRYzHrxb/ecFAmLX5KAACgkQBRYzHrxb /ef8KRAAgUYg+vEPYHXFz48vPBQr+bxcf0G8uzKT4S/afY7xdA1W0nsNR97cTtcW ofZQAMjDaxMaCR6Xteh4TUiP346AZv7ZeAKbzDMekrqnLJw8x7hcJRTfgHJVFBkd GGYOx7mYf0BEZJfykRDG1EbcwMGlGKK+WGV/tQ1/zM6/QOUXJow+Mn+JoSwl9fLH QKvQ5uOxrI9gN0bvWyx94zeoMNQmOrO8jq/48dbDZZebwg4fAmoBEAU3dYJ9obaW RE9DLywypWJ5ctYbyrwl+gSjo8DRxBUmbqDE8XxoonJQEZ712d66erGT3w4PLyKP 8RqxE3dduM0IfbvlvoOFyqtxTUN6hzb5cBVSuT5ukKyNWCjvxwXqqXgUkzxmc6JD Mgh3WnM1EZwdInG0zzScVN2WwMYhKoW0gb//35Dy/Z6HaWww6SPm21hIqzoINqzI FKW41Gp2pdFFl5HAx03IxhZ9aRJKdtKqexvlD5IDPBrBom2QQJ7Bex1najgpK9Y5 jqYQrAFn72U3Dxm0cRjfoSc6aI6kXu44RO3CyTvl65B6bZY+bZvj4fx+4IVrzm8Q PAsLDp+qbY2YKgtFT21csKQe2rux7QuafsREd3oBXOaUHgNv5xQ5nLIL5LhcSGX5 B9l82uU8ftuD5sMJn5uYQv1/0n5empXTsgl5GXZ3Wfni33v89yA= =wiSA -----END PGP SIGNATURE----- Merge tag 'pull-migration-20220720c' of https://gitlab.com/dagrh/qemu into staging Migration pull 2022-07-20 This replaces yesterdays pull and: a) Fixes some test build errors without TLS b) Reenabled the zlib acceleration on s390 now that we have Ilya's fix Hyman's dirty page rate limit set Ilya's fix for zlib vs migration Peter's postcopy-preempt Cleanup from Dan zero-copy tidy ups from Leo multifd doc fix from Juan Revert disable of zlib acceleration on s390x Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com> # gpg: Signature made Wed 20 Jul 2022 12:18:56 BST # gpg: using RSA key 45F5C71B4A0CB7FB977A9FA90516331EBC5BFDE7 # gpg: Good signature from "Dr. David Alan Gilbert (RH2) <dgilbert@redhat.com>" [full] # Primary key fingerprint: 45F5 C71B 4A0C B7FB 977A 9FA9 0516 331E BC5B FDE7 * tag 'pull-migration-20220720c' of https://gitlab.com/dagrh/qemu: (30 commits) Revert "gitlab: disable accelerated zlib for s390x" migration: Avoid false-positive on non-supported scenarios for zero-copy-send multifd: Document the locking of MultiFD{Send/Recv}Params migration/multifd: Report to user when zerocopy not working Add dirty-sync-missed-zero-copy migration stat QIOChannelSocket: Fix zero-copy flush returning code 1 when nothing sent migration: remove unreachable code after reading data tests: Add postcopy preempt tests tests: Add postcopy tls recovery migration test tests: Add postcopy tls migration test tests: Move MigrateCommon upper migration: Respect postcopy request order in preemption mode migration: Enable TLS for preempt channel migration: Export tls-[creds|hostname|authz] params to cmdline too migration: Add helpers to detect TLS capability migration: Add property x-postcopy-preempt-break-huge migration: Create the postcopy preempt channel asynchronously migration: Postcopy recover with preempt enabled migration: Postcopy preemption enablement migration: Postcopy preemption preparation on channel creation ... Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
fe16c833fd
44 changed files with 2406 additions and 307 deletions
|
@ -55,6 +55,10 @@
|
|||
# @postcopy-bytes: The number of bytes sent during the post-copy phase
|
||||
# (since 7.0).
|
||||
#
|
||||
# @dirty-sync-missed-zero-copy: Number of times dirty RAM synchronization could
|
||||
# not avoid copying dirty pages. This is between
|
||||
# 0 and @dirty-sync-count * @multifd-channels.
|
||||
# (since 7.1)
|
||||
# Since: 0.14
|
||||
##
|
||||
{ 'struct': 'MigrationStats',
|
||||
|
@ -65,7 +69,8 @@
|
|||
'postcopy-requests' : 'int', 'page-size' : 'int',
|
||||
'multifd-bytes' : 'uint64', 'pages-per-second' : 'uint64',
|
||||
'precopy-bytes' : 'uint64', 'downtime-bytes' : 'uint64',
|
||||
'postcopy-bytes' : 'uint64' } }
|
||||
'postcopy-bytes' : 'uint64',
|
||||
'dirty-sync-missed-zero-copy' : 'uint64' } }
|
||||
|
||||
##
|
||||
# @XBZRLECacheStats:
|
||||
|
@ -467,6 +472,11 @@
|
|||
# Requires that QEMU be permitted to use locked memory
|
||||
# for guest RAM pages.
|
||||
# (since 7.1)
|
||||
# @postcopy-preempt: If enabled, the migration process will allow postcopy
|
||||
# requests to preempt precopy stream, so postcopy requests
|
||||
# will be handled faster. This is a performance feature and
|
||||
# should not affect the correctness of postcopy migration.
|
||||
# (since 7.1)
|
||||
#
|
||||
# Features:
|
||||
# @unstable: Members @x-colo and @x-ignore-shared are experimental.
|
||||
|
@ -482,7 +492,7 @@
|
|||
'dirty-bitmaps', 'postcopy-blocktime', 'late-block-activate',
|
||||
{ 'name': 'x-ignore-shared', 'features': [ 'unstable' ] },
|
||||
'validate-uuid', 'background-snapshot',
|
||||
'zero-copy-send'] }
|
||||
'zero-copy-send', 'postcopy-preempt'] }
|
||||
|
||||
##
|
||||
# @MigrationCapabilityStatus:
|
||||
|
@ -1868,6 +1878,86 @@
|
|||
##
|
||||
{ 'command': 'query-dirty-rate', 'returns': 'DirtyRateInfo' }
|
||||
|
||||
##
|
||||
# @DirtyLimitInfo:
|
||||
#
|
||||
# Dirty page rate limit information of a virtual CPU.
|
||||
#
|
||||
# @cpu-index: index of a virtual CPU.
|
||||
#
|
||||
# @limit-rate: upper limit of dirty page rate (MB/s) for a virtual
|
||||
# CPU, 0 means unlimited.
|
||||
#
|
||||
# @current-rate: current dirty page rate (MB/s) for a virtual CPU.
|
||||
#
|
||||
# Since: 7.1
|
||||
#
|
||||
##
|
||||
{ 'struct': 'DirtyLimitInfo',
|
||||
'data': { 'cpu-index': 'int',
|
||||
'limit-rate': 'uint64',
|
||||
'current-rate': 'uint64' } }
|
||||
|
||||
##
|
||||
# @set-vcpu-dirty-limit:
|
||||
#
|
||||
# Set the upper limit of dirty page rate for virtual CPUs.
|
||||
#
|
||||
# Requires KVM with accelerator property "dirty-ring-size" set.
|
||||
# A virtual CPU's dirty page rate is a measure of its memory load.
|
||||
# To observe dirty page rates, use @calc-dirty-rate.
|
||||
#
|
||||
# @cpu-index: index of a virtual CPU, default is all.
|
||||
#
|
||||
# @dirty-rate: upper limit of dirty page rate (MB/s) for virtual CPUs.
|
||||
#
|
||||
# Since: 7.1
|
||||
#
|
||||
# Example:
|
||||
# {"execute": "set-vcpu-dirty-limit"}
|
||||
# "arguments": { "dirty-rate": 200,
|
||||
# "cpu-index": 1 } }
|
||||
#
|
||||
##
|
||||
{ 'command': 'set-vcpu-dirty-limit',
|
||||
'data': { '*cpu-index': 'int',
|
||||
'dirty-rate': 'uint64' } }
|
||||
|
||||
##
|
||||
# @cancel-vcpu-dirty-limit:
|
||||
#
|
||||
# Cancel the upper limit of dirty page rate for virtual CPUs.
|
||||
#
|
||||
# Cancel the dirty page limit for the vCPU which has been set with
|
||||
# set-vcpu-dirty-limit command. Note that this command requires
|
||||
# support from dirty ring, same as the "set-vcpu-dirty-limit".
|
||||
#
|
||||
# @cpu-index: index of a virtual CPU, default is all.
|
||||
#
|
||||
# Since: 7.1
|
||||
#
|
||||
# Example:
|
||||
# {"execute": "cancel-vcpu-dirty-limit"}
|
||||
# "arguments": { "cpu-index": 1 } }
|
||||
#
|
||||
##
|
||||
{ 'command': 'cancel-vcpu-dirty-limit',
|
||||
'data': { '*cpu-index': 'int'} }
|
||||
|
||||
##
|
||||
# @query-vcpu-dirty-limit:
|
||||
#
|
||||
# Returns information about virtual CPU dirty page rate limits, if any.
|
||||
#
|
||||
# Since: 7.1
|
||||
#
|
||||
# Example:
|
||||
# {"execute": "query-vcpu-dirty-limit"}
|
||||
#
|
||||
##
|
||||
{ 'command': 'query-vcpu-dirty-limit',
|
||||
'returns': [ 'DirtyLimitInfo' ] }
|
||||
|
||||
##
|
||||
# @snapshot-save:
|
||||
#
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue