qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH RFC for-1.6 qom-next 0/3] PCIe VMState cleanups


From: Andreas Färber
Subject: Re: [Qemu-devel] [PATCH RFC for-1.6 qom-next 0/3] PCIe VMState cleanups for 1.6
Date: Sun, 28 Jul 2013 16:26:08 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130620 Thunderbird/17.0.7

Am 28.07.2013 15:44, schrieb Andreas Färber:
> Am 28.07.2013 03:41, schrieb Andreas Färber:
>> Patch 1 assumes the following are equivalent:
>> a) - Struct A
>>      - Field Aa
>>      ...
>>    - Field X
>>      ...
>> b) - Struct A
>>      - Field Aa
>>      ...
>>      - Field X
>>
>> Patch 2 relies on XHCI not being released yet, thus no compatibiliy concerns.
>>
>> Patch 3 assumes the following are equivalent:
>> a) - Struct A
>>      - Field Aa
>>      ...
>>      - Field X
>> b) - Struct A
>>      - Field Aa
>>      ...
>>      - Subsection Ax
>>        - Field X
>>
>> CC'ing Juan to verify which of these are correct/safe.
> 
> If the answer is "doing both as subsections will work fine" then this
> series could be postponed post-1.6, of course.
> 
> Looking deeper at PCI devices, I notice that while XHCI was the only
> device to use VMSTATE_MSIX() macro, other devices were using
> msix_init*() as well, namely
> * nvme (unmigratable)
> * pci-assign (unmigratable)
> * vfio (unmigratable)
> * vmxnet3 - does an extra register_savevm() just for msix_save()
> * ivshmem - calling msix_save() conditionally after pci_device_save()
> * virtio-pci - calling msix_save() conditionally after pci_device_save()

Sorry, unconditionally, but msix_save() is no-op if !msix_present(), so
effect is the same - stored immediately after for some devices, with
ivshmem using its own qdev property condition hopefully equivalent to
msix_present() and vmxnet3 breaking that scheme.

While pci_device_save() internally reuses vmstate_pci[e]_device, neither
ivshmem nor virtio-pci set PCIDeviceClass::is_express, so are unaffected
by changes of vmstate_pcie_device in this series.

Stefan, do you see bumping vmxnet3 version_id post-1.6 as an acceptable
solution? Then we could make MSI-X a vmstate_pci_device subsection, too,
if I'm not making a thinko.

Andreas

> * megasas - #ifdef USE_MSIX'ed out, will need changes
> 
> CC'ing net and scsi maintainers and Hannes.
> 
> Regards,
> Andreas
> 


-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg



reply via email to

[Prev in Thread] Current Thread [Next in Thread]