add dirty-ring capability

This commit is contained in:
mii
2024-04-23 01:16:47 +00:00
parent 1a1ee1de48
commit 4dd0b04e30
4 changed files with 17 additions and 3 deletions

View File

@ -236,8 +236,12 @@ void hmp_info_migrate(Monitor *mon, const QDict *qdict)
info->vfio->transferred >> 10); info->vfio->transferred >> 10);
} }
monitor_printf(mon, "kvm_dirty_ring_enabled: %s\n", if (kvm_enabled()) {
kvm_dirty_ring_enabled() ? "on" : "off"); monitor_printf(mon, "kvm-dirty-ring-enabled: %s\n",
kvm_dirty_ring_enabled() ? "on" : "off");
monitor_printf(mon, "dirty-ring-capability: %s\n",
migrate_dirty_ring() ? "on" : "off");
}
qapi_free_MigrationInfo(info); qapi_free_MigrationInfo(info);

View File

@ -379,6 +379,13 @@ bool migrate_zero_copy_send(void)
return s->capabilities[MIGRATION_CAPABILITY_ZERO_COPY_SEND]; return s->capabilities[MIGRATION_CAPABILITY_ZERO_COPY_SEND];
} }
bool migrate_dirty_ring(void)
{
MigrationState *s = migrate_get_current();
return s->capabilities[MIGRATION_CAPABILITY_DIRTY_RING];
}
/* pseudo capabilities */ /* pseudo capabilities */
bool migrate_multifd_flush_after_each_section(void) bool migrate_multifd_flush_after_each_section(void)

View File

@ -44,6 +44,7 @@ bool migrate_validate_uuid(void);
bool migrate_xbzrle(void); bool migrate_xbzrle(void);
bool migrate_zero_blocks(void); bool migrate_zero_blocks(void);
bool migrate_zero_copy_send(void); bool migrate_zero_copy_send(void);
bool migrate_dirty_ring(void);
/* /*
* pseudo capabilities * pseudo capabilities

View File

@ -534,6 +534,8 @@
# each RAM page. Requires a migration URI that supports seeking, # each RAM page. Requires a migration URI that supports seeking,
# such as a file. (since 9.0) # such as a file. (since 9.0)
# #
# @dirty-ring: Dirty ring. (since 9.0)
#
# Features: # Features:
# #
# @deprecated: Member @block is deprecated. Use blockdev-mirror with # @deprecated: Member @block is deprecated. Use blockdev-mirror with
@ -558,7 +560,7 @@
{ 'name': 'x-ignore-shared', 'features': [ 'unstable' ] }, { 'name': 'x-ignore-shared', 'features': [ 'unstable' ] },
'validate-uuid', 'background-snapshot', 'validate-uuid', 'background-snapshot',
'zero-copy-send', 'postcopy-preempt', 'switchover-ack', 'zero-copy-send', 'postcopy-preempt', 'switchover-ack',
'dirty-limit', 'mapped-ram'] } 'dirty-limit', 'mapped-ram', 'dirty-ring'] }
## ##
# @MigrationCapabilityStatus: # @MigrationCapabilityStatus: