[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 1/3] migration: Create block capabilities for sh
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [PATCH 1/3] migration: Create block capabilities for shared and enable |
Date: |
Mon, 15 May 2017 17:38:34 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) |
Eric Blake <address@hidden> writes:
> On 05/15/2017 04:46 AM, Dr. David Alan Gilbert wrote:
>> * Juan Quintela (address@hidden) wrote:
>>> Eric Blake <address@hidden> wrote:
>>>> On 05/11/2017 11:32 AM, Juan Quintela wrote:
>>>>> Those two capabilities were added through the command line. Notice that
>>>>> we just created them. This is just the boilerplate.
>>>>>
>>>>> Signed-off-by: Juan Quintela <address@hidden>
>>>>> Reviewed-by: Eric Blake <address@hidden>
>>>>>
>>>>> --
>>>>>
>>>>> Make migrate_set_block_* take a boolean argument.
>>>>
>>>> Question - do we support the orthogonal selection of all 4 combinations
>>>> under HMP 'migrate' (no argument, -b alone, -i alone, -b and -i
>>>> together), or are there only 3 actual states? If the latter, should we
>>>> represent this as a single enum-valued property, rather than as two
>>>> independent boolean properties?
>>>
>>> { 'enum': 'MigrationCapability',
>>> 'data': ['xbzrle', 'rdma-pin-all', 'auto-converge', 'zero-blocks',
>>> 'compress', 'events', 'postcopy-ram', 'x-colo', 'release-ram'] }
>>>
>>>
>>> My understanding is that we can only have boolean capabilities here.
>>> Or, how could we put a non-boolean capability?
>
> If we want a non-boolean, then we make it a migration parameter rather
> than a migration capability. There may be other advantages to using
> MigrationParameter instead of MigrationCapability (such as making it
> easier to figure out whether the parameter settings are persistent or
> apply per-migration).
What makes a migration knob a MigrationCapability rather than a
MigrationParameter? Type bool, or is there more to it?
>>
>> Lets keep this simple and stick with the booleans.
>>
>> Dave
>>
>>> There are three states as far as I can see.
Begs the question how the fourth state behaves. Documentation is of no
help:
diff --git a/qapi-schema.json b/qapi-schema.json
index 5728b7f..109852e 100644
--- a/qapi-schema.json
+++ b/qapi-schema.json
@@ -894,11 +894,16 @@
# @release-ram: if enabled, qemu will free the migrated ram pages on the
source
# during postcopy-ram migration. (since 2.9)
#
+# @block-enabled: enable block migration (Since 2.10)
+#
+# @block-shared: enable block shared migration (Since 2.10)
+#
# Since: 1.2
##
Please explain all four states clearly there.
> I'll leave it up to you as maintainers which way you prefer, I'm just
> offering the potential design tradeoffs for simplicity of booleans (but
> complexity in an unused state) vs. simplicity of design (but complexity
> in code).
For what it's worth, I dislike entangled booleans.
- [Qemu-devel] [PATCH v2 0/3] Remove old MigrationParams, Juan Quintela, 2017/05/11
- [Qemu-devel] [PATCH 1/3] migration: Create block capabilities for shared and enable, Juan Quintela, 2017/05/11
- Re: [Qemu-devel] [PATCH 1/3] migration: Create block capabilities for shared and enable, Eric Blake, 2017/05/12
- Re: [Qemu-devel] [PATCH 1/3] migration: Create block capabilities for shared and enable, Juan Quintela, 2017/05/15
- Re: [Qemu-devel] [PATCH 1/3] migration: Create block capabilities for shared and enable, Dr. David Alan Gilbert, 2017/05/15
- Re: [Qemu-devel] [PATCH 1/3] migration: Create block capabilities for shared and enable, Eric Blake, 2017/05/15
- Re: [Qemu-devel] [PATCH 1/3] migration: Create block capabilities for shared and enable,
Markus Armbruster <=
- Re: [Qemu-devel] [PATCH 1/3] migration: Create block capabilities for shared and enable, Juan Quintela, 2017/05/15
- Re: [Qemu-devel] [PATCH 1/3] migration: Create block capabilities for shared and enable, Markus Armbruster, 2017/05/16
- Re: [Qemu-devel] [PATCH 1/3] migration: Create block capabilities for shared and enable, Juan Quintela, 2017/05/15
[Qemu-devel] [PATCH 2/3] migration: Remove use of old MigrationParams, Juan Quintela, 2017/05/11
- Re: [Qemu-devel] [PATCH 2/3] migration: Remove use of old MigrationParams, Peter Xu, 2017/05/11
- Re: [Qemu-devel] [PATCH 2/3] migration: Remove use of old MigrationParams, Juan Quintela, 2017/05/12
- Re: [Qemu-devel] [PATCH 2/3] migration: Remove use of old MigrationParams, Eric Blake, 2017/05/12
- Re: [Qemu-devel] [PATCH 2/3] migration: Remove use of old MigrationParams, Juan Quintela, 2017/05/15
- Re: [Qemu-devel] [PATCH 2/3] migration: Remove use of old MigrationParams, Dr. David Alan Gilbert, 2017/05/15
- Re: [Qemu-devel] [PATCH 2/3] migration: Remove use of old MigrationParams, Eric Blake, 2017/05/15