From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ian Jackson Subject: [PATCH v3 00/18] libxl: domain save/restore: run in a separate process Date: Fri, 15 Jun 2012 12:53:45 +0100 Message-ID: <1339761246-27641-1-git-send-email-ian.jackson@eu.citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org This is v4 of my series to asyncify save/restore. All comments have been addressed. I have retested this with HVM (RHEL) and PV guests, for both localhost migration and save/restore. RHEL seems to have some unreliability which occurs with the baseline too. I was not able to test stub dms at all because when trying to boot my RHEL guest with a stub dm the dm domain immediately crashed. (I discovered that my previous tests had occasionally not been using all of the new code.) In the list below "A" indicates a patch which has been acked sufficiently to go in (assuming its dependencies were to go in too). "*" indicates a new patch in v4 and "+" indicates a patch with nontrivial changes from v3. Preparatory fixes: A libxc: xc_domain_restore, make toolstack_restore const-correct * libxc: Do not segfault if (e.g.) switch_qemu_logdirty fails Preparatory reshuffling: A libxl: domain save: rename variables etc. A libxl: domain restore: reshuffle, preparing for ao + libxl: domain save: API changes for asynchrony The meat: + libxl: domain save/restore: run in a separate process Some more fixups: A libxl: rename libxl_dom:save_helper to physmap_path A libxl: provide libxl__xs_*_checked and libxl__xs_transaction_* + A libxl: wait for qemu to acknowledge logdirty command Asyncify writing of qemu save file, too: A libxl: datacopier: provide "prefix data" facility A libxl: prepare for asynchronous writing of qemu save file A libxl: Make libxl__domain_save_device_model asynchronous Fix gc_opt handling: A libxl: Add a gc to libxl_get_cpu_topology A libxl: Do not pass NULL as gc_opt; introduce NOGC A libxl: Get compiler to warn about gc_opt==NULL Work on essentially-unrelated bugs: A xl: Handle return value from libxl_domain_suspend correctly A libxl: do not leak dms->saved_state A libxl: do not leak spawned middle children A libxl: do not leak an event struct on ignored ao progress libxl: further fixups re LIBXL_DOMAIN_TYPE libxl: DO NOT APPLY enforce prohibition on internal Thanks, Ian.