[cc Peter, Nikolay and libvirt list]
On 02.11.23 11:06, Vladimir Sementsov-Ogievskiy wrote:
Ping.
And some addition. We have the case, when the commit
commit 7bed89958bfbf40df9ca681cefbdca63abdde39d
Author: Maxim Levitsky <mlevitsk@xxxxxxxxxx>
Date: Tue Oct 6 14:38:58 2020 +0200
device_core: use drain_call_rcu in in qmp_device_add
Soon, a device removal might only happen on RCU callback execution.
This is okay for device-del which provides a DEVICE_DELETED event,
but not for the failure case of device-add. To avoid changing
monitor semantics, just drain all pending RCU callbacks on error.
sensibly slows down vm initialization (several calls to device_add of pc-dimm).
And looking at commit message, I see that what I do in the series is exactly a suggestion to change monitor semantics.
What do you think?
Maybe we need a boolean "async" parameter for device_add, which will turn off drain_call_rcu() call and rely on user to handle DEVICE_ON?
On 05.10.23 12:29, Vladimir Sementsov-Ogievskiy wrote:
Hi all!
Main thing this series does is DEVICE_ON event - a counter-part to
DEVICE_DELETED. A guest-driven event that device is powered-on.
Details are in patch 2. The new event is paried with corresponding
command query-hotplug.
v8:
- improve naming, wording and style
- make new QMP interface experimental
Vladimir Sementsov-Ogievskiy (4):
qapi/qdev.json: unite DEVICE_* event data into single structure
qapi: add DEVICE_ON and query-hotplug infrastructure
shpc: implement DEVICE_ON event and query-hotplug
pcie: implement DEVICE_ON event and query-hotplug
hw/core/hotplug.c | 12 +++
hw/pci-bridge/pci_bridge_dev.c | 14 +++
hw/pci-bridge/pcie_pci_bridge.c | 1 +
hw/pci/pcie.c | 83 +++++++++++++++
hw/pci/pcie_port.c | 1 +
hw/pci/shpc.c | 86 +++++++++++++++
include/hw/hotplug.h | 11 ++
include/hw/pci/pci_bridge.h | 2 +
include/hw/pci/pcie.h | 2 +
include/hw/pci/shpc.h | 2 +
include/hw/qdev-core.h | 7 ++
include/monitor/qdev.h | 6 ++
qapi/qdev.json | 178 +++++++++++++++++++++++++++++---
softmmu/qdev-monitor.c | 58 +++++++++++
14 files changed, 451 insertions(+), 12 deletions(-)
--
Best regards,
Vladimir
_______________________________________________
Devel mailing list -- devel@xxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxx