diff options
| author | Paul Durrant <pdurrant@amazon.com> | 2020-10-01 09:15:00 +0100 |
|---|---|---|
| committer | Anthony PERARD <anthony.perard@citrix.com> | 2020-10-19 16:32:41 +0100 |
| commit | c4583c8c394ee49ce7d5271f572abd3b000fa9e4 (patch) | |
| tree | 98fbb64c939b023f063abe2c2ff86c0db662904f /include/hw/xen/xen-backend.h | |
| parent | 2211118a2acb6f36bc497713479050e45a3ec693 (diff) | |
| download | focaccia-qemu-c4583c8c394ee49ce7d5271f572abd3b000fa9e4.tar.gz focaccia-qemu-c4583c8c394ee49ce7d5271f572abd3b000fa9e4.zip | |
xen-bus: reduce scope of backend watch
Currently a single watch on /local/domain/X/backend is registered by each QEMU process running in service domain X (where X is usually 0). The purpose of this watch is to ensure that QEMU is notified when the Xen toolstack creates a new device backend area. Such a backend area is specific to a single frontend area created for a specific guest domain and, since each QEMU process is also created to service a specfic guest domain, it is unnecessary and inefficient to notify all QEMU processes. Only the QEMU process associated with the same guest domain need receive the notification. This patch re-factors the watch registration code such that notifications are targetted appropriately. Reported-by: Jerome Leseinne <jerome.leseinne@gmail.com> Signed-off-by: Paul Durrant <pdurrant@amazon.com> Reviewed-by: Anthony PERARD <anthony.perard@citrix.com> Message-Id: <20201001081500.1026-1-paul@xen.org> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Diffstat (limited to 'include/hw/xen/xen-backend.h')
| -rw-r--r-- | include/hw/xen/xen-backend.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/hw/xen/xen-backend.h b/include/hw/xen/xen-backend.h index 010d712638..aac2fd454d 100644 --- a/include/hw/xen/xen-backend.h +++ b/include/hw/xen/xen-backend.h @@ -31,6 +31,7 @@ void xen_backend_set_device(XenBackendInstance *backend, XenDevice *xen_backend_get_device(XenBackendInstance *backend); void xen_backend_register(const XenBackendInfo *info); +const char **xen_backend_get_types(unsigned int *nr); void xen_backend_device_create(XenBus *xenbus, const char *type, const char *name, QDict *opts, Error **errp); |