[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 20/30] s390x: convert virtio-ccw to hotplug hand
From: |
Igor Mammedov |
Subject: |
Re: [Qemu-devel] [PATCH 20/30] s390x: convert virtio-ccw to hotplug handler API |
Date: |
Thu, 25 Sep 2014 17:26:11 +0200 |
On Thu, 25 Sep 2014 16:32:37 +0200
Cornelia Huck <address@hidden> wrote:
> On Thu, 25 Sep 2014 15:11:10 +0200
> Igor Mammedov <address@hidden> wrote:
>
> > On Thu, 25 Sep 2014 13:08:38 +0200
> > Cornelia Huck <address@hidden> wrote:
>
> > > So, to summarize, what happened before was
> > >
> > > bridge device <--- (simple unplug invoked for dev)
> > simple unplug should not exits for above device
>
> Yes. I'm not sure why it does.
>
> >
> > > -> virtual bus
> > > -> virtio proxy device <--- virtio unplug invoked for dev
> >
> > > -> virtio bus
> > > -> virtio device
> > >
> > > which your patch changed to
> > >
> > > bridge device
> > > -> virtual bus <--- simple unplug invoked for virtio proxy dev
> > > -> virtio proxy device
> > > -> virtio bus <--- (virtio unplug invoked for virtio dev)
> > > -> virtio device
> > >
> > > Am I understanding this correctly?
> > Let's try other way around:
> >
> > bridge device (virtual_css_bridge) - non hotpluggable sysbus device
> > -> virtual bus (VIRTUAL_CSS_BUS)
> > -> virtio proxy device |
> > -> virtio bus |- virtio_ccw_device_foo composite device managed
> > with
> > -> virtio device | device_add/del command
> >
> > internal "virtio device" is the only child of "virtio bus" and it's not
> > supposed
> > to be managed via device_add/del.
>
> This makes sense; I'm wondering why virtio-bus had allow_hotplug set
> before, though.
it was due to behavior of bus_add_child() which required bus to be
hotplugggable.
>
> >
> > So to unplug "virtio proxy device" we should call virtio_ccw_busdev_unplug
> > stored in "bridge device" with "virtual bus" using bridge as
> > hotplug-handler.
> >
> > does following patch work for you?
>
> It does react as expected with a simple device_add/device_del (your
> patches applied up to patch 19 with this one on top).
Thanks for confirmation, I'll amend s390-virtio in similar manner for V2
- Re: [Qemu-devel] [PATCH 15/30] virtio-pci: replace BusState.allow_hotplug with hotplug_handler, (continued)
[Qemu-devel] [PATCH 21/30] scsi: make scsi_bus_new() assign hotplug controller, Igor Mammedov, 2014/09/24
[Qemu-devel] [PATCH 22/30] scsi: convert pvscsi HBA to hotplug hander API, Igor Mammedov, 2014/09/24
[Qemu-devel] [PATCH 23/30] scsi: convert virtio-scsi HBA to hotplug handler API, Igor Mammedov, 2014/09/24
[Qemu-devel] [PATCH 24/30] scsi: cleanup not used anymore SCSIBusInfo{hotplug, hot_unplug} fields, Igor Mammedov, 2014/09/24