[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [Qemu-devel] [QEMU PATCH v5 4/6] migration: migrate QTAIL
From: |
Jianjun Duan |
Subject: |
Re: [Qemu-ppc] [Qemu-devel] [QEMU PATCH v5 4/6] migration: migrate QTAILQ |
Date: |
Fri, 7 Oct 2016 10:43:41 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.3.0 |
On 10/07/2016 10:34 AM, Dr. David Alan Gilbert wrote:
> * Jianjun Duan (address@hidden) wrote:
>>
>>
>> On 10/07/2016 09:32 AM, Paolo Bonzini wrote:
>>>
>>>
>>> On 07/10/2016 18:31, Jianjun Duan wrote:
>>>>
>>>>
>>>> On 10/07/2016 07:34 AM, Dr. David Alan Gilbert wrote:
>>>>> * Paolo Bonzini (address@hidden) wrote:
>>>>>>
>>>>>>
>>>>>> On 06/10/2016 21:01, Dr. David Alan Gilbert wrote:
>>>>>>>>>> + } else if (field->flags & VMS_LINKED) {
>>>>>>>>>> + ret = field->info->get(f, addr, size, field);
>>>>>>>>>> } else {
>>>>>>>>>> ret = field->info->get(f, addr, size, NULL);
>>>>>>>>>>
>>>>>>>>>> @@ -193,6 +197,8 @@ static const char
>>>>>>>>>> *vmfield_get_type_name(VMStateField *field)
>>>>>>>>>>
>>>>>>>>>> if (field->flags & VMS_STRUCT) {
>>>>>>>>>> type = "struct";
>>>>>>>>>> + } else if (field->flags & VMS_LINKED) {
>>>>>>>>>> + type = "linked";
>>>>>>>>>> } else if (field->info->name) {
>>>>>>>>>> type = field->info->name;
>>>>>>>>>> }
>>>>>>>>>> @@ -327,6 +333,8 @@ void vmstate_save_state(QEMUFile *f, const
>>>>>>>>>> VMStateDescription *vmsd,
>>>>>>>>>> }
>>>>>>>>>> if (field->flags & VMS_STRUCT) {
>>>>>>>>>> vmstate_save_state(f, field->vmsd, addr,
>>>>>>>>>> vmdesc_loop);
>>>>>>>>>> + } else if (field->flags & VMS_LINKED) {
>>>>>>>>>> + field->info->put(f, addr, size, field,
>>>>>>>>>> vmdesc_loop);
>>>>>>>>>> } else {
>>>>>>>>>> field->info->put(f, addr, size, NULL, NULL);
>>>>>>>>>> }
>>>>>>
>>>>>> Is VMS_LINKED needed at all, since the fields are unused for every
>>>>>> VMStateInfo except qtailq?
>>>>>
>>>>> No, I think you could easily drop the VMS_LINKED and just always pass
>>>>> them in.
>>>>
>>>> It is needed if we want to use vmdesc_loop.
>>>
>>> Just always pass it in, can't you?
>>>
>> Could that lead to repetition of array elements? I know it depends on
>> individual put details.
>
> I don't think so; Paolo is just suggesting replacing:
>
> + } else if (field->flags & VMS_LINKED) {
> + field->info->put(f, addr, size, field, vmdesc_loop);
> } else {
> field->info->put(f, addr, size, NULL, NULL);
> }
>
> by:
>
> } else {
> - field->info->put(f, addr, size, NULL, NULL);
> + field->info->put(f, addr, size, field, vmdesc_loop);
> }
>
> most get/put won't use the field/vmdesc_loop so it wont matter.
>
> Dave
>
Even though most put/get have no issues now, when somebody writes a new
put, he or she could run into issues if only checking the type
signature. It makes the code more readable.
I am OK either way.
Thanks,
Jianjun
>>
>> Thanks,
>> Jianjun
>>> Paolo
>>>
>>
> --
> Dr. David Alan Gilbert / address@hidden / Manchester, UK
>
- Re: [Qemu-ppc] [QEMU PATCH v5 4/6] migration: migrate QTAILQ, (continued)
- Re: [Qemu-ppc] [QEMU PATCH v5 4/6] migration: migrate QTAILQ, Jianjun Duan, 2016/10/05
- Re: [Qemu-ppc] [Qemu-devel] [QEMU PATCH v5 4/6] migration: migrate QTAILQ, Dr. David Alan Gilbert, 2016/10/06
- Re: [Qemu-ppc] [Qemu-devel] [QEMU PATCH v5 4/6] migration: migrate QTAILQ, Jianjun Duan, 2016/10/06
- Re: [Qemu-ppc] [Qemu-devel] [QEMU PATCH v5 4/6] migration: migrate QTAILQ, David Gibson, 2016/10/06
- Re: [Qemu-ppc] [Qemu-devel] [QEMU PATCH v5 4/6] migration: migrate QTAILQ, Paolo Bonzini, 2016/10/07
- Re: [Qemu-ppc] [Qemu-devel] [QEMU PATCH v5 4/6] migration: migrate QTAILQ, Dr. David Alan Gilbert, 2016/10/07
- Re: [Qemu-ppc] [Qemu-devel] [QEMU PATCH v5 4/6] migration: migrate QTAILQ, Jianjun Duan, 2016/10/07
- Re: [Qemu-ppc] [Qemu-devel] [QEMU PATCH v5 4/6] migration: migrate QTAILQ, Paolo Bonzini, 2016/10/07
- Re: [Qemu-ppc] [Qemu-devel] [QEMU PATCH v5 4/6] migration: migrate QTAILQ, Jianjun Duan, 2016/10/07
- Re: [Qemu-ppc] [Qemu-devel] [QEMU PATCH v5 4/6] migration: migrate QTAILQ, Dr. David Alan Gilbert, 2016/10/07
- Re: [Qemu-ppc] [Qemu-devel] [QEMU PATCH v5 4/6] migration: migrate QTAILQ,
Jianjun Duan <=
- Re: [Qemu-ppc] [Qemu-devel] [QEMU PATCH v5 4/6] migration: migrate QTAILQ, Paolo Bonzini, 2016/10/08
- Re: [Qemu-ppc] [Qemu-devel] [QEMU PATCH v5 4/6] migration: migrate QTAILQ, Halil Pasic, 2016/10/09
- Re: [Qemu-ppc] [Qemu-devel] [QEMU PATCH v5 4/6] migration: migrate QTAILQ, Jianjun Duan, 2016/10/10
- Re: [Qemu-ppc] [QEMU PATCH v5 4/6] migration: migrate QTAILQ, Paolo Bonzini, 2016/10/11
- Re: [Qemu-ppc] [Qemu-devel] [QEMU PATCH v5 4/6] migration: migrate QTAILQ, Jianjun Duan, 2016/10/10
- Re: [Qemu-ppc] [QEMU PATCH v5 4/6] migration: migrate QTAILQ, Paolo Bonzini, 2016/10/06
- Re: [Qemu-ppc] [QEMU PATCH v5 4/6] migration: migrate QTAILQ, Dr. David Alan Gilbert, 2016/10/06
- Re: [Qemu-ppc] [QEMU PATCH v5 4/6] migration: migrate QTAILQ, Paolo Bonzini, 2016/10/06
- Re: [Qemu-ppc] [QEMU PATCH v5 4/6] migration: migrate QTAILQ, Dr. David Alan Gilbert, 2016/10/06
[Qemu-ppc] [QEMU PATCH v5 3/6] migration: extend VMStateInfo, Jianjun Duan, 2016/10/03