From: Igor Mitsyanko <i.mitsyanko@samsung.com>
To: "Andreas Färber" <afaerber@suse.de>
Cc: quintela@redhat.com, Anthony Liguori <anthony@codemonkey.ws>,
KVM devel mailing list <kvm@vger.kernel.org>,
Developers qemu-devel <qemu-devel@nongnu.org>,
Dmitry Solodkiy <d.solodkiy@samsung.com>,
Jason Baron <jbaron@redhat.com>, Alexander Graf <agraf@suse.de>
Subject: Re: [Qemu-devel] KVM call agenda for tuesday 31
Date: Thu, 09 Aug 2012 11:53:30 +0400 [thread overview]
Message-ID: <50236C7A.1090600@samsung.com> (raw)
In-Reply-To: <502292EF.3010202@suse.de>
On 08/08/2012 08:25 PM, Andreas Färber wrote:
> Am 31.01.2012 15:01, schrieb Mitsyanko Igor:
>> On 01/31/2012 05:15 PM, Andreas Färber wrote:
>>> Am 31.01.2012 00:53, schrieb Anthony Liguori:
>>>> On 01/30/2012 05:41 PM, Andreas Färber wrote:
>>>>> Am 30.01.2012 19:55, schrieb Juan Quintela:
>>>>>> Please send in any agenda items you are interested in covering.
>>>>> VMState:
>>>>> Anthony specifically said that VMState were not affected by QOM and
>>>>> that
>>>>> patches should not be deferred until the merge. Yet there's no review
>>>>> and/or decision-making for a month now. Ping^2 for AHCI+SDHC.
>>>> Do you have pointers (to pending VMState patches)?
>>> http://patchwork.ozlabs.org/patch/137732/ (PATCH v4)
>>>
>>> It's basically about how to deal with variable-sized arrays. (Alex
>>> mentioned it on one call around November.) I found ways to deal with
>>> subsets of arrays embedded within the struct and variable-sized list of
>>> pointers to structs but no solution for a malloc()'ed array of structs.
>>> Maybe I'm just too stupid to see. Anyway, no one commented since Xmas.
>>>
>>> Igor posted (and refined for v2) a patch with a callback-based approach
>>> that I find promising. From my view, unofficially Juan is the VMState
>>> guy, he's been cc'ed. Are we lacking an official maintainer that cares?
>>> Or is Juan the official, undocumented maintainer but simply busy?
>>>
>>> SUSE's interest is making AHCI migratable, and my VMState workaround for
>>> that is simply ugly:
>>>
>>> http://patchwork.ozlabs.org/patch/133066/ (RFC)
>>>
>> If I'm not mistaken, if you change AHCIState's ".ports" type to uint32_t
>> you can use existing VMSTATE_BUFFER_MULTIPLY macro like this:
>>
>> VMSTATE_BUFFER_MULTIPLY(dev, AHCIState, 0, NULL, 0, ports,
>> sizeof(AHCIDevice))
> Igor, I finally got around to rebasing and trying this: Am I seeing
> correctly that this tries to serialize the whole of AHCIDevice as an
> opaque buffer? The difficulty here was that we were looking for a way to
> serialize a variable number of structured elements with their own
> &vmstate_ahci_device specifying what fields to serialize.
>
> Juan, how should we proceed there? Do as Igor suggested? Some VMSTATE_
> macro I'm overlooking? Or do we need some new macro for this use case?
>
> Regards,
> Andreas
Hi Andreas, that was a bad suggestion, sorry for that, we can't treat
structures as opaque buffers because that wouldn't work when migrating
between hosts with different alignment/endianess.
Perhaps you can use VMSTATE_STRUCT_VARRAY_UINT32 for this, if I'm not
again mistaken.
>> VMSTATE_BUFFER_MULTIPLY currently lacks VMS_POINTER flag and therefore
>> doesn't make any use of _start field (you don't need it anyway)
>>
>> Nevertheless, VMSTATE_BUFFER_MULTIPLY is just a partial solution to a
>> bigger set of possible problems. SD card's vmstate implementation
>> requires shift operation, SDHC gets size from switch {} statement,
>> something else later may require division or addition e.t.c.,
>> get_bufsize callback will cover all possible cases.
WARNING: multiple messages have this Message-ID (diff)
From: Igor Mitsyanko <i.mitsyanko@samsung.com>
To: "Andreas Färber" <afaerber@suse.de>
Cc: KVM devel mailing list <kvm@vger.kernel.org>,
quintela@redhat.com, Jason Baron <jbaron@redhat.com>,
Developers qemu-devel <qemu-devel@nongnu.org>,
Alexander Graf <agraf@suse.de>,
Dmitry Solodkiy <d.solodkiy@samsung.com>,
Anthony Liguori <anthony@codemonkey.ws>
Subject: Re: [Qemu-devel] KVM call agenda for tuesday 31
Date: Thu, 09 Aug 2012 11:53:30 +0400 [thread overview]
Message-ID: <50236C7A.1090600@samsung.com> (raw)
In-Reply-To: <502292EF.3010202@suse.de>
On 08/08/2012 08:25 PM, Andreas Färber wrote:
> Am 31.01.2012 15:01, schrieb Mitsyanko Igor:
>> On 01/31/2012 05:15 PM, Andreas Färber wrote:
>>> Am 31.01.2012 00:53, schrieb Anthony Liguori:
>>>> On 01/30/2012 05:41 PM, Andreas Färber wrote:
>>>>> Am 30.01.2012 19:55, schrieb Juan Quintela:
>>>>>> Please send in any agenda items you are interested in covering.
>>>>> VMState:
>>>>> Anthony specifically said that VMState were not affected by QOM and
>>>>> that
>>>>> patches should not be deferred until the merge. Yet there's no review
>>>>> and/or decision-making for a month now. Ping^2 for AHCI+SDHC.
>>>> Do you have pointers (to pending VMState patches)?
>>> http://patchwork.ozlabs.org/patch/137732/ (PATCH v4)
>>>
>>> It's basically about how to deal with variable-sized arrays. (Alex
>>> mentioned it on one call around November.) I found ways to deal with
>>> subsets of arrays embedded within the struct and variable-sized list of
>>> pointers to structs but no solution for a malloc()'ed array of structs.
>>> Maybe I'm just too stupid to see. Anyway, no one commented since Xmas.
>>>
>>> Igor posted (and refined for v2) a patch with a callback-based approach
>>> that I find promising. From my view, unofficially Juan is the VMState
>>> guy, he's been cc'ed. Are we lacking an official maintainer that cares?
>>> Or is Juan the official, undocumented maintainer but simply busy?
>>>
>>> SUSE's interest is making AHCI migratable, and my VMState workaround for
>>> that is simply ugly:
>>>
>>> http://patchwork.ozlabs.org/patch/133066/ (RFC)
>>>
>> If I'm not mistaken, if you change AHCIState's ".ports" type to uint32_t
>> you can use existing VMSTATE_BUFFER_MULTIPLY macro like this:
>>
>> VMSTATE_BUFFER_MULTIPLY(dev, AHCIState, 0, NULL, 0, ports,
>> sizeof(AHCIDevice))
> Igor, I finally got around to rebasing and trying this: Am I seeing
> correctly that this tries to serialize the whole of AHCIDevice as an
> opaque buffer? The difficulty here was that we were looking for a way to
> serialize a variable number of structured elements with their own
> &vmstate_ahci_device specifying what fields to serialize.
>
> Juan, how should we proceed there? Do as Igor suggested? Some VMSTATE_
> macro I'm overlooking? Or do we need some new macro for this use case?
>
> Regards,
> Andreas
Hi Andreas, that was a bad suggestion, sorry for that, we can't treat
structures as opaque buffers because that wouldn't work when migrating
between hosts with different alignment/endianess.
Perhaps you can use VMSTATE_STRUCT_VARRAY_UINT32 for this, if I'm not
again mistaken.
>> VMSTATE_BUFFER_MULTIPLY currently lacks VMS_POINTER flag and therefore
>> doesn't make any use of _start field (you don't need it anyway)
>>
>> Nevertheless, VMSTATE_BUFFER_MULTIPLY is just a partial solution to a
>> bigger set of possible problems. SD card's vmstate implementation
>> requires shift operation, SDHC gets size from switch {} statement,
>> something else later may require division or addition e.t.c.,
>> get_bufsize callback will cover all possible cases.
next prev parent reply other threads:[~2012-08-09 7:53 UTC|newest]
Thread overview: 83+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-01-30 18:55 KVM call agenda for tuesday 31 Juan Quintela
2012-01-30 18:55 ` [Qemu-devel] " Juan Quintela
2012-01-30 23:41 ` Andreas Färber
2012-01-30 23:41 ` Andreas Färber
2012-01-30 23:53 ` Anthony Liguori
2012-01-30 23:53 ` [Qemu-devel] " Anthony Liguori
2012-01-31 0:37 ` Alexander Graf
2012-01-31 0:37 ` Alexander Graf
2012-01-31 10:49 ` Lluís Vilanova
2012-01-31 13:15 ` Andreas Färber
2012-01-31 13:15 ` Andreas Färber
2012-01-31 14:01 ` Mitsyanko Igor
2012-01-31 14:01 ` Mitsyanko Igor
2012-08-08 16:25 ` Andreas Färber
2012-08-08 16:25 ` Andreas Färber
2012-08-09 7:53 ` Igor Mitsyanko [this message]
2012-08-09 7:53 ` Igor Mitsyanko
2012-01-31 14:12 ` Anthony Liguori
2012-01-31 14:12 ` Anthony Liguori
2012-01-31 15:04 ` Michael S. Tsirkin
2012-01-31 15:04 ` [Qemu-devel] " Michael S. Tsirkin
2012-01-31 15:10 ` Michael S. Tsirkin
2012-01-31 15:10 ` [Qemu-devel] " Michael S. Tsirkin
2012-01-31 15:12 ` Paolo Bonzini
2012-01-31 15:12 ` Paolo Bonzini
2012-02-09 22:23 ` Peter Maydell
2012-02-09 22:23 ` [Qemu-devel] " Peter Maydell
2012-02-09 22:37 ` Anthony Liguori
2012-02-09 22:37 ` Anthony Liguori
2012-02-09 22:42 ` Peter Maydell
2012-02-09 22:42 ` [Qemu-devel] " Peter Maydell
2012-02-09 23:17 ` Andreas Färber
2012-02-09 23:17 ` Andreas Färber
2012-02-09 23:21 ` Alexander Graf
2012-02-09 23:21 ` Alexander Graf
2012-02-21 15:33 ` Peter Maydell
2012-02-21 15:33 ` Peter Maydell
2012-02-22 8:06 ` Mitsyanko Igor
2012-02-22 8:06 ` Mitsyanko Igor
2012-03-05 13:38 ` Igor Mitsyanko
2012-03-05 13:38 ` Igor Mitsyanko
2012-03-05 14:13 ` Avi Kivity
2012-03-05 14:13 ` Avi Kivity
2012-03-05 14:37 ` Igor Mitsyanko
2012-03-05 14:37 ` Igor Mitsyanko
2012-03-05 15:10 ` Avi Kivity
2012-03-05 15:10 ` Avi Kivity
2012-03-05 15:15 ` Anthony Liguori
2012-03-05 15:15 ` Anthony Liguori
2012-03-05 15:17 ` Avi Kivity
2012-03-05 15:17 ` Avi Kivity
2012-03-05 18:53 ` Blue Swirl
2012-03-05 18:53 ` Blue Swirl
2012-03-05 20:58 ` malc
2012-03-05 20:58 ` [Qemu-devel] " malc
2012-03-05 15:20 ` Peter Maydell
2012-03-05 15:20 ` Peter Maydell
2012-03-05 15:21 ` Avi Kivity
2012-03-05 15:21 ` Avi Kivity
2012-03-05 15:27 ` Peter Maydell
2012-03-05 15:27 ` Peter Maydell
2012-03-05 15:43 ` Andreas Färber
2012-03-05 15:43 ` [Qemu-devel] " Andreas Färber
2012-03-05 15:47 ` Avi Kivity
2012-03-05 15:47 ` Avi Kivity
2012-03-05 15:50 ` Peter Maydell
2012-03-05 15:50 ` Peter Maydell
2012-03-05 17:27 ` Avi Kivity
2012-03-05 17:27 ` Avi Kivity
2012-03-12 9:43 ` Igor Mitsyanko
2012-03-12 9:43 ` Igor Mitsyanko
2012-03-14 9:30 ` Igor Mitsyanko
2012-03-14 9:30 ` Igor Mitsyanko
2012-03-14 10:16 ` Avi Kivity
2012-03-14 10:16 ` Avi Kivity
2012-01-31 13:59 ` Anthony Liguori
2012-01-31 13:59 ` Anthony Liguori
2012-01-31 14:09 ` Avi Kivity
2012-01-31 14:09 ` Avi Kivity
2012-01-31 14:17 ` Anthony Liguori
2012-01-31 14:44 ` Avi Kivity
2012-01-31 16:23 ` Andreas Färber
2012-01-31 16:23 ` Andreas Färber
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=50236C7A.1090600@samsung.com \
--to=i.mitsyanko@samsung.com \
--cc=afaerber@suse.de \
--cc=agraf@suse.de \
--cc=anthony@codemonkey.ws \
--cc=d.solodkiy@samsung.com \
--cc=jbaron@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.