[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH for 2.1 00/97] VMState simplification (massive)
From: |
Juan Quintela |
Subject: |
Re: [Qemu-devel] [PATCH for 2.1 00/97] VMState simplification (massive) |
Date: |
Mon, 07 Apr 2014 12:00:30 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) |
"Dr. David Alan Gilbert" <address@hidden> wrote:
> * Juan Quintela (address@hidden) wrote:
>> Hi
>>
>> Look at the diffstat. Almost all the additions are at
>> test-vmstate.c. That is the reason why it is called a simplification.
>>
>> What this series does:
>> - peter removal of version_minimum_id_old field when not needed (Peter)
>> - cleanup: based on the previous one, I removed all the unneeded
>> the uses on the tree. This should make your compiles
>> a couple of nanoseconds faster.
>> - once there, fixed the indentation of the .fields line, to a canonical
>> .fields = (VMStateField[])
>> - mst simplifications for vmstate engine
>>
>> And now, the big cleanup.
>> - Patches only do one thing, to make easy the review.
>>
>> - Added test for all VMSTATE_FOO() definitions
>> (well, I am lying, VMSTATE_STRUCT* are still missing, will come soon)
>> - We had two ways to make a field optional
>> VMSTATE_INT64_V(field, state, version)
>> and
>> VMSTATE_INT64_TEST(field, state, test)
>>
>> We can do the version one with one test like:
>>
>> static inline bool vmstate_5_plus(void *opaque, int version_id)
>> {
>> return version_id >= 5;
>> }
>>
>> and then change:
>> VMSTATE_INT64_V(field, state, 5);
>>
>> into
>> VMSTATE_INT64_TEST(field, state, vmstate_5_plus);
>
> I'm not sure if I like this; while I'm OK with the idea of changing the
> implementation of VMSTATE_INT64_V to use that function trick internally,
> it seems like we're discouraging providing easy to parse/record versionining
> info out of the tree.
That information is not exported Today. And if we want to export them,
export v = 5 or test == vmstat_5_plus is exactly the same dificulty.
The information is still there, what has changed is the removal of one
mechanism.
#define VMSTATE_UINT64_V(field, state, X) \
VMSTATE_UINT64_TEST(field, state, vmstate_##X##_plus)
The same that we could do for maintaining the macro, we can do to export
the information to whatever format we want. I just wanted to remove one
of the mechanism (the less powerful one).
Later, Juan.
- [Qemu-devel] [PATCH 95/97] vmstate: Create VMS_VBUFFER_UINT32, (continued)
- [Qemu-devel] [PATCH 95/97] vmstate: Create VMS_VBUFFER_UINT32, Juan Quintela, 2014/04/06
- [Qemu-devel] [PATCH 96/97] vmstate: Rename VMS_VBUFFER to VMST_VBUFFER_INT32 for consintency, Juan Quintela, 2014/04/06
- [Qemu-devel] [PATCH 97/97] vmstate: Test for VMSTATE_VBUFFER_UINT32, Juan Quintela, 2014/04/06
- [Qemu-devel] [PATCH 85/97] vmstate: Test for VMSTATE_BUFFER, Juan Quintela, 2014/04/07
- [Qemu-devel] [PATCH 87/97] vmstate: Test for VMSTATE_BUFFER_START_MIDDLE, Juan Quintela, 2014/04/07
- [Qemu-devel] [PATCH 88/97] vmstate: Add tests for VMSTATE_BUFFER_TEST, Juan Quintela, 2014/04/07
- [Qemu-devel] [PATCH 86/97] vmstate: Test for VMSTATE_PARTIAL_BUFFER, Juan Quintela, 2014/04/07
- Re: [Qemu-devel] [PATCH for 2.1 00/97] VMState simplification (massive), Dr. David Alan Gilbert, 2014/04/07
- Re: [Qemu-devel] [PATCH for 2.1 00/97] VMState simplification (massive),
Juan Quintela <=
- Re: [Qemu-devel] [PATCH for 2.1 00/97] VMState simplification (massive), Marcel Apfelbaum, 2014/04/07