All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] Migration: Add i82801b11 migration data
@ 2016-04-04 15:54 Dr. David Alan Gilbert (git)
  2016-04-04 16:14 ` Marcel Apfelbaum
  0 siblings, 1 reply; 6+ messages in thread
From: Dr. David Alan Gilbert (git) @ 2016-04-04 15:54 UTC (permalink / raw)
  To: qemu-devel, mst; +Cc: marcel, amit.shah, jsnow, quintela

From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>

The i82801b11 bridge didn't have a vmsd and thus didn't send
any migration data, including that of its parent PCIBridge object.
The symptom being if the guest used any devices behind the bridge
the guest crashed (mostly with various interrupt related issues).

Note: This will cause migration from old qemus that used this device to
explicitly fail during migration as opposed to the guest crashing.

Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Suggested-by: Marcel Apfelbaum <marcel@redhat.com>
---
 hw/pci-bridge/i82801b11.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/hw/pci-bridge/i82801b11.c b/hw/pci-bridge/i82801b11.c
index 5c40708..2404e7e 100644
--- a/hw/pci-bridge/i82801b11.c
+++ b/hw/pci-bridge/i82801b11.c
@@ -78,6 +78,14 @@ err_bridge:
     return rc;
 }
 
+static const VMStateDescription i82801b11_bridge_dev_vmstate = {
+    .name = "i82801b11_bridge",
+    .fields = (VMStateField[]) {
+        VMSTATE_PCI_DEVICE(parent_obj, PCIBridge),
+        VMSTATE_END_OF_LIST()
+    }
+};
+
 static void i82801b11_bridge_class_init(ObjectClass *klass, void *data)
 {
     PCIDeviceClass *k = PCI_DEVICE_CLASS(klass);
@@ -89,6 +97,7 @@ static void i82801b11_bridge_class_init(ObjectClass *klass, void *data)
     k->revision = ICH9_D2P_A2_REVISION;
     k->init = i82801b11_bridge_initfn;
     k->config_write = pci_bridge_write_config;
+    dc->vmsd = &i82801b11_bridge_dev_vmstate;
     set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
 }
 
-- 
2.5.5

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] [PATCH] Migration: Add i82801b11 migration data
  2016-04-04 15:54 [Qemu-devel] [PATCH] Migration: Add i82801b11 migration data Dr. David Alan Gilbert (git)
@ 2016-04-04 16:14 ` Marcel Apfelbaum
  2016-04-04 16:37   ` Peter Maydell
  0 siblings, 1 reply; 6+ messages in thread
From: Marcel Apfelbaum @ 2016-04-04 16:14 UTC (permalink / raw)
  To: Dr. David Alan Gilbert (git), qemu-devel, mst; +Cc: amit.shah, jsnow, quintela

On 04/04/2016 06:54 PM, Dr. David Alan Gilbert (git) wrote:
> From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
>
> The i82801b11 bridge didn't have a vmsd and thus didn't send
> any migration data, including that of its parent PCIBridge object.
> The symptom being if the guest used any devices behind the bridge
> the guest crashed (mostly with various interrupt related issues).
>
> Note: This will cause migration from old qemus that used this device to
> explicitly fail during migration as opposed to the guest crashing.
>
> Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
> Suggested-by: Marcel Apfelbaum <marcel@redhat.com>
> ---
>   hw/pci-bridge/i82801b11.c | 9 +++++++++
>   1 file changed, 9 insertions(+)
>
> diff --git a/hw/pci-bridge/i82801b11.c b/hw/pci-bridge/i82801b11.c
> index 5c40708..2404e7e 100644
> --- a/hw/pci-bridge/i82801b11.c
> +++ b/hw/pci-bridge/i82801b11.c
> @@ -78,6 +78,14 @@ err_bridge:
>       return rc;
>   }
>
> +static const VMStateDescription i82801b11_bridge_dev_vmstate = {
> +    .name = "i82801b11_bridge",
> +    .fields = (VMStateField[]) {
> +        VMSTATE_PCI_DEVICE(parent_obj, PCIBridge),
> +        VMSTATE_END_OF_LIST()
> +    }
> +};
> +
>   static void i82801b11_bridge_class_init(ObjectClass *klass, void *data)
>   {
>       PCIDeviceClass *k = PCI_DEVICE_CLASS(klass);
> @@ -89,6 +97,7 @@ static void i82801b11_bridge_class_init(ObjectClass *klass, void *data)
>       k->revision = ICH9_D2P_A2_REVISION;
>       k->init = i82801b11_bridge_initfn;
>       k->config_write = pci_bridge_write_config;
> +    dc->vmsd = &i82801b11_bridge_dev_vmstate;
>       set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
>   }
>
>

If this patch was enough we got lucky :)
Is not too late to make it to 2.6, right?

Reviewed-by: Marcel Apfelbaum <marcel@redhat.com>

Thanks,
Marcel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] [PATCH] Migration: Add i82801b11 migration data
  2016-04-04 16:14 ` Marcel Apfelbaum
@ 2016-04-04 16:37   ` Peter Maydell
  2016-04-04 16:40     ` Dr. David Alan Gilbert
  2016-04-04 16:45     ` Marcel Apfelbaum
  0 siblings, 2 replies; 6+ messages in thread
From: Peter Maydell @ 2016-04-04 16:37 UTC (permalink / raw)
  To: Marcel Apfelbaum
  Cc: Juan Quintela, Michael S. Tsirkin, Dr. David Alan Gilbert (git),
	QEMU Developers, Amit Shah, John Snow

On 4 April 2016 at 17:14, Marcel Apfelbaum <marcel@redhat.com> wrote:
> On 04/04/2016 06:54 PM, Dr. David Alan Gilbert (git) wrote:
>>
>> From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
>>
>> The i82801b11 bridge didn't have a vmsd and thus didn't send
>> any migration data, including that of its parent PCIBridge object.
>> The symptom being if the guest used any devices behind the bridge
>> the guest crashed (mostly with various interrupt related issues).
>>
>> Note: This will cause migration from old qemus that used this device to
>> explicitly fail during migration as opposed to the guest crashing.

> If this patch was enough we got lucky :)
> Is not too late to make it to 2.6, right?

You should add a line to
http://wiki.qemu.org/Planning/2.6#Known_issues
for things you think should be fixed for 2.6...

thanks
-- PMM

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] [PATCH] Migration: Add i82801b11 migration data
  2016-04-04 16:37   ` Peter Maydell
@ 2016-04-04 16:40     ` Dr. David Alan Gilbert
  2016-04-04 16:43       ` Paolo Bonzini
  2016-04-04 16:45     ` Marcel Apfelbaum
  1 sibling, 1 reply; 6+ messages in thread
From: Dr. David Alan Gilbert @ 2016-04-04 16:40 UTC (permalink / raw)
  To: Peter Maydell
  Cc: Juan Quintela, Michael S. Tsirkin, QEMU Developers, Amit Shah,
	Marcel Apfelbaum, John Snow

* Peter Maydell (peter.maydell@linaro.org) wrote:
> On 4 April 2016 at 17:14, Marcel Apfelbaum <marcel@redhat.com> wrote:
> > On 04/04/2016 06:54 PM, Dr. David Alan Gilbert (git) wrote:
> >>
> >> From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
> >>
> >> The i82801b11 bridge didn't have a vmsd and thus didn't send
> >> any migration data, including that of its parent PCIBridge object.
> >> The symptom being if the guest used any devices behind the bridge
> >> the guest crashed (mostly with various interrupt related issues).
> >>
> >> Note: This will cause migration from old qemus that used this device to
> >> explicitly fail during migration as opposed to the guest crashing.
> 
> > If this patch was enough we got lucky :)
> > Is not too late to make it to 2.6, right?
> 
> You should add a line to
> http://wiki.qemu.org/Planning/2.6#Known_issues
> for things you think should be fixed for 2.6...

It would be nice for it to be in 2.6, however it's not actually
a 2.6 regression, it's been broken forever, but the difference
is that libvirt started using that bridge for q35 recently.

Dave

> thanks
> -- PMM
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] [PATCH] Migration: Add i82801b11 migration data
  2016-04-04 16:40     ` Dr. David Alan Gilbert
@ 2016-04-04 16:43       ` Paolo Bonzini
  0 siblings, 0 replies; 6+ messages in thread
From: Paolo Bonzini @ 2016-04-04 16:43 UTC (permalink / raw)
  To: Dr. David Alan Gilbert, Peter Maydell
  Cc: Michael S. Tsirkin, Juan Quintela, QEMU Developers,
	Marcel Apfelbaum, Amit Shah, John Snow



On 04/04/2016 18:40, Dr. David Alan Gilbert wrote:
> It would be nice for it to be in 2.6, however it's not actually
> a 2.6 regression, it's been broken forever, but the difference
> is that libvirt started using that bridge for q35 recently.

I think we should fix it, hard freeze is not limited to regressions.

Paolo

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] [PATCH] Migration: Add i82801b11 migration data
  2016-04-04 16:37   ` Peter Maydell
  2016-04-04 16:40     ` Dr. David Alan Gilbert
@ 2016-04-04 16:45     ` Marcel Apfelbaum
  1 sibling, 0 replies; 6+ messages in thread
From: Marcel Apfelbaum @ 2016-04-04 16:45 UTC (permalink / raw)
  To: Peter Maydell
  Cc: Juan Quintela, Michael S. Tsirkin, Dr. David Alan Gilbert (git),
	QEMU Developers, Amit Shah, John Snow

On 04/04/2016 07:37 PM, Peter Maydell wrote:
> On 4 April 2016 at 17:14, Marcel Apfelbaum <marcel@redhat.com> wrote:
>> On 04/04/2016 06:54 PM, Dr. David Alan Gilbert (git) wrote:
>>>
>>> From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
>>>
>>> The i82801b11 bridge didn't have a vmsd and thus didn't send
>>> any migration data, including that of its parent PCIBridge object.
>>> The symptom being if the guest used any devices behind the bridge
>>> the guest crashed (mostly with various interrupt related issues).
>>>
>>> Note: This will cause migration from old qemus that used this device to
>>> explicitly fail during migration as opposed to the guest crashing.
>
>> If this patch was enough we got lucky :)
>> Is not too late to make it to 2.6, right?
>
> You should add a line to
> http://wiki.qemu.org/Planning/2.6#Known_issues
> for things you think should be fixed for 2.6...
>

Done.

Thanks,
Marcel

> thanks
> -- PMM
>

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2016-04-04 16:45 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-04-04 15:54 [Qemu-devel] [PATCH] Migration: Add i82801b11 migration data Dr. David Alan Gilbert (git)
2016-04-04 16:14 ` Marcel Apfelbaum
2016-04-04 16:37   ` Peter Maydell
2016-04-04 16:40     ` Dr. David Alan Gilbert
2016-04-04 16:43       ` Paolo Bonzini
2016-04-04 16:45     ` Marcel Apfelbaum

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.