From: Alexey Kardashevskiy <aik@ozlabs.ru>
To: Juan Quintela <quintela@redhat.com>
Cc: David Gibson <david@gibson.dropbear.id.au>,
qemu-ppc@nongnu.org, qemu-devel@nongnu.org,
Alexander Graf <agraf@suse.de>
Subject: Re: [Qemu-devel] [PATCH 1/2] vmstate: Allow dynamic allocation for VBUFFER during migration
Date: Thu, 09 Oct 2014 16:20:19 +1100 [thread overview]
Message-ID: <54361B13.5070102@ozlabs.ru> (raw)
In-Reply-To: <542DE2E4.5040107@ozlabs.ru>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 10/03/2014 09:42 AM, Alexey Kardashevskiy wrote:
> On 10/02/2014 07:56 PM, Alexey Kardashevskiy wrote:
>> This extends use of VMS_ALLOC flag from arrays to VBUFFER as well.
>
>> This defines VMSTATE_VBUFFER_ALLOC_UINT32 which makes use of
>> VMS_ALLOC and uses uint32_t type for a size.
>
>
> Adding Juan to cc:. Please, ack :)
Juan, ping?
>
>
>
>> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> ---
>> include/migration/vmstate.h | 11 +++++++++++ vmstate.c | 13
>> ++++++++++--- 2 files changed, 21 insertions(+), 3 deletions(-)
>
>> diff --git a/include/migration/vmstate.h
>> b/include/migration/vmstate.h index 9a001bd..e45fc49 100644 ---
>> a/include/migration/vmstate.h +++ b/include/migration/vmstate.h @@
>> -484,6 +484,17 @@ extern const VMStateInfo vmstate_info_bitmap;
>> .start = (_start), \ }
>
>> +#define VMSTATE_VBUFFER_ALLOC_UINT32(_field, _state, _version,
>> _test, _start, _field_size) { \ + .name =
>> (stringify(_field)), \ + .version_id = (_version), \ +
>> .field_exists = (_test), \ + .size_offset =
>> vmstate_offset_value(_state, _field_size, uint32_t),\ + .info
>> = &vmstate_info_buffer, \ + .flags =
>> VMS_VBUFFER|VMS_POINTER|VMS_ALLOC, \ + .offset =
>> offsetof(_state, _field), \ + .start = (_start), \ +} +
>> #define VMSTATE_BUFFER_UNSAFE_INFO(_field, _state, _version, _info,
>> _size) { \ .name = (stringify(_field)), \ .version_id =
>> (_version), \ diff --git
>> a/vmstate.c b/vmstate.c index ef2f87b..3dde574 100644 ---
>> a/vmstate.c +++ b/vmstate.c @@ -49,9 +49,16 @@ static void
>> *vmstate_base_addr(void *opaque, VMStateField *field, bool alloc)
>
>> if (field->flags & VMS_POINTER) { if (alloc && (field->flags &
>> VMS_ALLOC)) { - int n_elems = vmstate_n_elems(opaque,
>> field); - if (n_elems) { - gsize size =
>> n_elems * field->size; + gsize size = 0; + if
>> (field->flags & VMS_VBUFFER) { + size =
>> vmstate_size(opaque, field); + } else { + int n_elems =
>> vmstate_n_elems(opaque, field); + if (n_elems) { +
>> size = n_elems * field->size; + } + } + if
>> (size) { *((void **)base_addr + field->start) = g_malloc(size); } }
>
>
>
>
- --
Alexey
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAEBAgAGBQJUNhsTAAoJEIYTPdgrwSC5CzgQAJbQ7C259BGZqPics7P1FhIm
wzHhwfUwfEML6nRtaVMeime8qqfbD048VNH43/nCiCoy2MjkvXV/uT+j2f+hLjcG
46Ys004S7SDn+bl+7Z24sFGZ5iqBO3is+kLj79w878IwC5SPM0jH7dfnU+ZSimVE
rCug/D95IvU4gOVfxtDbFg5oq6sgGHC+SpLsg9CAo2lBcOje5ylSAwyd5/s3pmnC
FMXf3nJI/aAQTcbrVeuB4+khGP4hncqzh2w07IP8olszZcyTzRIzQnyU3eqIbPrM
8nX6HdrauVj0VxtSZJzticaJnzO7qqOl+1TiCZWCV5m7jchbPbKnuvovoRQ1v5cw
DSmZ8BULGK6XnuOmqhEY8AMDAYcHP8DvnJ1N+dmAcsfCr6jFIb0HAW6VWsqMJxDG
J7G3jIKooOSXCmciFkS+2QMJ0TrAgavF/K2njdcA/7up+nVBDnPsEX+bFnox9N+w
KnyBYS8tWqP4NuK+q53BtkZllMXQYSLFQUoi5XgKoCL1dk1xoxlbZg/3rbXzMB3a
sWt3W9zxx5PzsNGEUfQyl8mgmR02y+N1cqJRu/6HJfxfXJ2m+LvTPhlp1oWJVuHT
YKam971lTrPja0Z7OfNgWjPgv/OOW7NjzMGbq51SV20TDKgn1sJMSGqJ/cdqBkeS
HZBj6AVhEzX4V+NDAkrH
=JyEK
-----END PGP SIGNATURE-----
next prev parent reply other threads:[~2014-10-09 5:20 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-02 9:56 [Qemu-devel] [PATCH 0/2] Here are 2 patches to enable sPAPR NVRAM migration Alexey Kardashevskiy
2014-10-02 9:56 ` [Qemu-devel] [PATCH 1/2] vmstate: Allow dynamic allocation for VBUFFER during migration Alexey Kardashevskiy
2014-10-02 23:42 ` Alexey Kardashevskiy
2014-10-09 5:20 ` Alexey Kardashevskiy [this message]
2014-10-03 4:08 ` David Gibson
2014-10-14 7:32 ` Juan Quintela
2014-10-02 9:56 ` [Qemu-devel] [PATCH 2/2] spapr_nvram: Enable migration Alexey Kardashevskiy
2014-10-03 4:11 ` David Gibson
2014-10-02 10:58 ` [Qemu-devel] [PATCH 0/2] Here are 2 patches to enable sPAPR NVRAM migration Alexander Graf
2014-10-15 7:21 ` Alexander Graf
-- strict thread matches above, loose matches on Subject: below --
2014-09-25 7:02 [Qemu-devel] [PATCH 0/2] spapr_nvram: Support migration Alexey Kardashevskiy
2014-09-25 7:02 ` [Qemu-devel] [PATCH 1/2] vmstate: Allow dynamic allocation for VBUFFER during migration Alexey Kardashevskiy
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=54361B13.5070102@ozlabs.ru \
--to=aik@ozlabs.ru \
--cc=agraf@suse.de \
--cc=david@gibson.dropbear.id.au \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@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.