[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2] qdev: Mark devices as non-hotpluggable by de
From: |
Eduardo Habkost |
Subject: |
Re: [Qemu-devel] [PATCH v2] qdev: Mark devices as non-hotpluggable by default |
Date: |
Mon, 25 Sep 2017 14:48:19 -0300 |
User-agent: |
Mutt/1.8.3 (2017-05-23) |
On Mon, Sep 25, 2017 at 04:26:44PM +0100, Peter Maydell wrote:
> On 25 September 2017 at 16:19, Thomas Huth <address@hidden> wrote:
> > Not sure whether this works for the virtio-xxx-device devices,
> > though, since they are marked as user_creatable = true currently...
>
> That's deliberate -- for the arm boards with virtio-mmio
> the board creates a bunch of virtio-mmio transports and the
> virtio-foo-device can be user created to plug into those.
Do they support device_add virtio-xxx-device, though? If they
don't, should we report it as hotpluggable on a future QMP
query-device-type command?
>
> If overall trying to do the 'right thing' is tricky here
> then perhaps we can start by flipping the default to
> not-hotpluggable and marking some devices hotpluggable
> that in theory shouldn't be with a comment about why.
Finding the full list of those devices is the tricky part.
>
> Incidentally I think there's still some advantage in the
> "created as part of some other device" devices having
> to be explicitly marked hotpluggable, because those
> devices do still need some specific code in them to
> handle it (ie code to release the resources that are
> created in the device's realize method).
I agree this is still useful.
I was trying represent something different: I was looking for a
flag meaning "supports device_add", while the current meaning is
"supports late instantiation".
On all devices, device_add support requires late instantiation.
On most user-creatable devices, late instantiation support
implies device_add support (virtio-*-device is the only
exception).
This confusion can be solved by documenting
DeviceClass::hotpluggable as "may support device_add, as long as
the machine and bus lets you do it", so there's no harm in
setting it to true on virtio-*-device.
This won't allow us to automatically tell if a device can be
safely instantiated without a hotplug controller, though.
--
Eduardo
- Re: [Qemu-devel] [PATCH v2] qdev: Mark devices as non-hotpluggable by default, (continued)
- Re: [Qemu-devel] [PATCH v2] qdev: Mark devices as non-hotpluggable by default, Eduardo Habkost, 2017/09/25
- Re: [Qemu-devel] [PATCH v2] qdev: Mark devices as non-hotpluggable by default, Peter Maydell, 2017/09/25
- Re: [Qemu-devel] [PATCH v2] qdev: Mark devices as non-hotpluggable by default, Eduardo Habkost, 2017/09/25
- Re: [Qemu-devel] [PATCH v2] qdev: Mark devices as non-hotpluggable by default, Peter Maydell, 2017/09/25
- Re: [Qemu-devel] [PATCH v2] qdev: Mark devices as non-hotpluggable by default, Eduardo Habkost, 2017/09/25
- Re: [Qemu-devel] [PATCH v2] qdev: Mark devices as non-hotpluggable by default, Eduardo Habkost, 2017/09/25
- Re: [Qemu-devel] [PATCH v2] qdev: Mark devices as non-hotpluggable by default, Thomas Huth, 2017/09/25
- Re: [Qemu-devel] [PATCH v2] qdev: Mark devices as non-hotpluggable by default, Peter Maydell, 2017/09/26
- Re: [Qemu-devel] [PATCH v2] qdev: Mark devices as non-hotpluggable by default, Thomas Huth, 2017/09/26
- Re: [Qemu-devel] [PATCH v2] qdev: Mark devices as non-hotpluggable by default, Peter Maydell, 2017/09/26
- Re: [Qemu-devel] [PATCH v2] qdev: Mark devices as non-hotpluggable by default,
Eduardo Habkost <=
- Re: [Qemu-devel] [PATCH v2] qdev: Mark devices as non-hotpluggable by default, Bharata B Rao, 2017/09/26