From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
Cc: Anthony PERARD <anthony.perard@citrix.com>,
Ian Jackson <ian.jackson@eu.citrix.com>, Wei Liu <wl@xen.org>
Subject: [Xen-devel] [PATCH 00/35] libxl refactoring to use ev_qmp (with API changes)
Date: Fri, 2 Aug 2019 16:35:31 +0100 [thread overview]
Message-ID: <20190802153606.32061-1-anthony.perard@citrix.com> (raw)
Hi,
On the quest to have QEMU depriviledge, we need to make quite a few changes to
libxl. This patch series rework quite a few libxl feature to use libxl__ev_qmp,
which is the new asynchronous way of communicating with QEMU in libxl.
Unfortunately, some libxl functions (in the public API) are supposed to be
synchronous but are communicating with QEMU before returning. So those functions
are made asynchronous with an additional parameter `libxl_asyncop_how'.
Functions that are changes:
- libxl_domain_unpause
- libxl_domain_pause
- libxl_send_trigger
- libxl_set_vcpuonline
- libxl_retrieve_domain_configuration
- libxl_qemu_monitor_command
This series depends on both:
- [PATCH v2 0/9] libxl: New slow lock + fix libxl_cdrom_insert with QEMU depriv
- [PATCH 00/15] Some cleanup of libxl
Patch series available in this git branch:
https://xenbits.xen.org/git-http/people/aperard/xen-unstable.git br.libxl-ev_qmp-refactoring-v1
Cheers,
Anthony PERARD (35):
libxl: Make libxl_domain_unpause async
libxl: Make libxl_send_trigger async
libxl: Make libxl_set_vcpuonline async
libxl: Make libxl_retrieve_domain_configuration async
libxl: Make libxl_qemu_monitor_command async
libxl: Use ev_qmp for switch_qemu_xen_logdirty
libxl: Move "qmp_initializations" to libxl_dm
libxl: Replace libxl__qmp_initializations by ev_qmp calls
libxl: Deprecate libxl__domain_{unpause,resume}
libxl: Re-introduce libxl__domain_resume
libxl_domain: Convert libxl_domain_resume to use libxl__domain_resume
libxl: Re-introduce libxl__domain_unpause
libxl_dm: Update libxl__spawn_stub_dm to use libxl__domain_unpause
libxl_domain: Convert libxl_domain_unpause to use
libxl__domain_unpause
libxl: Inline do_usbdev_add into libxl__device_usbdev_add
libxl: Inline do_usbdev_remove into libxl__device_usbdev_remove
libxl: Add libxl__ev_qmp to libxl__ao_device
libxl: Add device_{config,type} to libxl__ao_device
libxl_usb: Make libxl__device_usbctrl_add uses ev_qmp
libxl_usb: Make libxl__initiate_device_usbctrl_remove uses ev_qmp
libxl_usb: Make libxl__device_usbdev_add uses ev_qmp
libxl: Use aodev for libxl__device_usbdev_remove
libxl: libxl__initiate_device_usbdev_remove now use ev_qmp
libxl: Remove libxl__qmp_run_command_flexarray
libxl_pci: Coding style of do_pci_add
libxl_pci: Only check if qemu-dm is running in qemu-trad case
libxl_pci: Use libxl__ao_device with libxl__device_pci_add
libxl_pci: Use ev_qmp in do_pci_add
libxl_pci: Use libxl__ao_device with pci_remove
libxl_pci: Use ev_qmp for pci_remove
libxl: Use ev_qmp for libxl_send_trigger
libxl: Use ev_qmp in libxl_set_vcpuonline
libxl: Extract qmp_parse_query_cpus
libxl: libxl_retrieve_domain_configuration now uses ev_qmp
libxl: libxl_qemu_monitor_command now uses ev_qmp
tools/libxl/libxl.h | 77 ++-
tools/libxl/libxl_colo_restore.c | 4 +-
tools/libxl/libxl_colo_save.c | 4 +-
tools/libxl/libxl_create.c | 10 -
tools/libxl/libxl_device.c | 2 +
tools/libxl/libxl_dm.c | 239 +++++++-
tools/libxl/libxl_dom_save.c | 41 +-
tools/libxl/libxl_dom_suspend.c | 198 ++++++-
tools/libxl/libxl_domain.c | 627 ++++++++++++++++----
tools/libxl/libxl_internal.h | 86 ++-
tools/libxl/libxl_pci.c | 966 ++++++++++++++++++++++++++-----
tools/libxl/libxl_qmp.c | 471 ++-------------
tools/libxl/libxl_remus.c | 2 +-
tools/libxl/libxl_usb.c | 598 +++++++++++++------
tools/xl/xl_cpupool.c | 2 +-
tools/xl/xl_info.c | 3 +-
tools/xl/xl_migrate.c | 4 +-
tools/xl/xl_misc.c | 6 +-
tools/xl/xl_saverestore.c | 5 +-
tools/xl/xl_vcpu.c | 2 +-
tools/xl/xl_vmcontrol.c | 13 +-
21 files changed, 2427 insertions(+), 933 deletions(-)
--
Anthony PERARD
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
next reply other threads:[~2019-08-02 15:36 UTC|newest]
Thread overview: 90+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-02 15:35 Anthony PERARD [this message]
2019-08-02 15:35 ` [Xen-devel] [PATCH 01/35] libxl: Make libxl_domain_unpause async Anthony PERARD
2019-09-17 16:50 ` Ian Jackson
2019-09-18 14:05 ` Anthony PERARD
2019-09-18 15:44 ` Ian Jackson
2019-08-02 15:35 ` [Xen-devel] [PATCH 02/35] libxl: Make libxl_send_trigger async Anthony PERARD
2019-09-17 16:50 ` Ian Jackson
2019-08-02 15:35 ` [Xen-devel] [PATCH 03/35] libxl: Make libxl_set_vcpuonline async Anthony PERARD
2019-09-17 16:50 ` Ian Jackson
2019-08-02 15:35 ` [Xen-devel] [PATCH 04/35] libxl: Make libxl_retrieve_domain_configuration async Anthony PERARD
2019-09-17 16:50 ` Ian Jackson
2019-08-02 15:35 ` [Xen-devel] [PATCH 05/35] libxl: Make libxl_qemu_monitor_command async Anthony PERARD
2019-09-17 16:50 ` Ian Jackson
2019-08-02 15:35 ` [Xen-devel] [PATCH 06/35] libxl: Use ev_qmp for switch_qemu_xen_logdirty Anthony PERARD
2019-09-17 16:52 ` Ian Jackson
2019-09-17 16:53 ` Ian Jackson
2019-09-17 17:10 ` Ian Jackson
2019-09-19 12:58 ` Anthony PERARD
2019-09-19 13:03 ` Ian Jackson
2019-09-19 13:21 ` Anthony PERARD
2019-08-02 15:35 ` [Xen-devel] [PATCH 07/35] libxl: Move "qmp_initializations" to libxl_dm Anthony PERARD
2019-09-17 16:54 ` Ian Jackson
2019-08-02 15:35 ` [Xen-devel] [PATCH 08/35] libxl: Replace libxl__qmp_initializations by ev_qmp calls Anthony PERARD
2019-09-17 17:02 ` Ian Jackson
2019-09-18 14:20 ` Anthony PERARD
2019-09-18 16:49 ` Anthony PERARD
2019-09-18 16:56 ` Ian Jackson
2019-09-18 17:08 ` Ian Jackson
2019-08-02 15:35 ` [Xen-devel] [PATCH 09/35] libxl: Deprecate libxl__domain_{unpause, resume} Anthony PERARD
2019-09-17 17:02 ` Ian Jackson
2019-08-02 15:35 ` [Xen-devel] [PATCH 10/35] libxl: Re-introduce libxl__domain_resume Anthony PERARD
2019-09-17 17:04 ` Ian Jackson
2019-08-02 15:35 ` [Xen-devel] [PATCH 11/35] libxl_domain: Convert libxl_domain_resume to use libxl__domain_resume Anthony PERARD
2019-09-17 17:04 ` Ian Jackson
2019-08-02 15:35 ` [Xen-devel] [PATCH 12/35] libxl: Re-introduce libxl__domain_unpause Anthony PERARD
2019-09-17 17:05 ` Ian Jackson
2019-08-02 15:35 ` [Xen-devel] [PATCH 13/35] libxl_dm: Update libxl__spawn_stub_dm to use libxl__domain_unpause Anthony PERARD
2019-09-17 17:05 ` Ian Jackson
2019-08-02 15:35 ` [Xen-devel] [PATCH 14/35] libxl_domain: Convert libxl_domain_unpause " Anthony PERARD
2019-09-17 17:05 ` Ian Jackson
2019-08-02 15:35 ` [Xen-devel] [PATCH 15/35] libxl: Inline do_usbdev_add into libxl__device_usbdev_add Anthony PERARD
2019-09-17 17:05 ` Ian Jackson
2019-08-02 15:35 ` [Xen-devel] [PATCH 16/35] libxl: Inline do_usbdev_remove into libxl__device_usbdev_remove Anthony PERARD
2019-09-17 17:06 ` Ian Jackson
2019-08-02 15:35 ` [Xen-devel] [PATCH 17/35] libxl: Add libxl__ev_qmp to libxl__ao_device Anthony PERARD
2019-09-17 17:07 ` Ian Jackson
2019-09-19 15:43 ` Anthony PERARD
2019-09-19 16:17 ` Ian Jackson
2019-08-02 15:35 ` [Xen-devel] [PATCH 18/35] libxl: Add device_{config, type} " Anthony PERARD
2019-09-17 17:07 ` Ian Jackson
2019-08-02 15:35 ` [Xen-devel] [PATCH 19/35] libxl_usb: Make libxl__device_usbctrl_add uses ev_qmp Anthony PERARD
2019-09-17 17:08 ` Ian Jackson
2019-08-02 15:35 ` [Xen-devel] [PATCH 20/35] libxl_usb: Make libxl__initiate_device_usbctrl_remove " Anthony PERARD
2019-09-17 17:10 ` Ian Jackson
2019-08-02 15:35 ` [Xen-devel] [PATCH 21/35] libxl_usb: Make libxl__device_usbdev_add " Anthony PERARD
2019-09-17 17:10 ` Ian Jackson
2019-08-02 15:35 ` [Xen-devel] [PATCH 22/35] libxl: Use aodev for libxl__device_usbdev_remove Anthony PERARD
2019-09-17 17:12 ` Ian Jackson
2019-08-02 15:35 ` [Xen-devel] [PATCH 23/35] libxl: libxl__initiate_device_usbdev_remove now use ev_qmp Anthony PERARD
2019-09-17 17:14 ` Ian Jackson
2019-08-02 15:35 ` [Xen-devel] [PATCH 24/35] libxl: Remove libxl__qmp_run_command_flexarray Anthony PERARD
2019-09-17 17:14 ` Ian Jackson
2019-08-02 15:35 ` [Xen-devel] [PATCH 25/35] libxl_pci: Coding style of do_pci_add Anthony PERARD
2019-09-17 17:15 ` Ian Jackson
2019-08-02 15:35 ` [Xen-devel] [PATCH 26/35] libxl_pci: Only check if qemu-dm is running in qemu-trad case Anthony PERARD
2019-09-17 17:16 ` Ian Jackson
2019-08-02 15:35 ` [Xen-devel] [PATCH 27/35] libxl_pci: Use libxl__ao_device with libxl__device_pci_add Anthony PERARD
2019-09-17 17:16 ` Ian Jackson
2019-08-02 15:35 ` [Xen-devel] [PATCH 28/35] libxl_pci: Use ev_qmp in do_pci_add Anthony PERARD
2019-09-17 17:19 ` Ian Jackson
2019-09-18 14:23 ` Anthony PERARD
2019-09-18 17:22 ` Anthony PERARD
2019-09-19 11:18 ` Ian Jackson
2019-08-02 15:36 ` [Xen-devel] [PATCH 29/35] libxl_pci: Use libxl__ao_device with pci_remove Anthony PERARD
2019-09-17 17:20 ` Ian Jackson
2019-08-02 15:36 ` [Xen-devel] [PATCH 30/35] libxl_pci: Use ev_qmp for pci_remove Anthony PERARD
2019-09-17 17:27 ` Ian Jackson
2019-08-02 15:36 ` [Xen-devel] [PATCH 31/35] libxl: Use ev_qmp for libxl_send_trigger Anthony PERARD
2019-09-17 17:27 ` Ian Jackson
2019-08-02 15:36 ` [Xen-devel] [PATCH 32/35] libxl: Use ev_qmp in libxl_set_vcpuonline Anthony PERARD
2019-09-17 17:41 ` Ian Jackson
2019-08-02 15:36 ` [Xen-devel] [PATCH 33/35] libxl: Extract qmp_parse_query_cpus Anthony PERARD
2019-09-17 17:42 ` Ian Jackson
2019-09-19 14:46 ` Anthony PERARD
2019-09-19 16:17 ` Ian Jackson
2019-08-02 15:36 ` [Xen-devel] [PATCH 34/35] libxl: libxl_retrieve_domain_configuration now uses ev_qmp Anthony PERARD
2019-09-17 17:43 ` Ian Jackson
2019-08-02 15:36 ` [Xen-devel] [PATCH 35/35] libxl: libxl_qemu_monitor_command " Anthony PERARD
2019-09-17 17:43 ` Ian Jackson
2019-09-17 17:44 ` [Xen-devel] [PATCH 00/35] libxl refactoring to use ev_qmp (with API changes) Ian Jackson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190802153606.32061-1-anthony.perard@citrix.com \
--to=anthony.perard@citrix.com \
--cc=ian.jackson@eu.citrix.com \
--cc=wl@xen.org \
--cc=xen-devel@lists.xenproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.