[libvirt] [PATCH 0/3] libxl: domain destroy fixes

Jim Fehlig jfehlig at suse.com
Wed Mar 25 20:08:33 UTC 2015


This small series of patches fixes some issues wrt domain destroy in
the libxl driver.  The primary motivation for this work is to
prevent locking the virDomainObj during long running destroy operations
on large memory domains.

Patch 1 moves job acquisition from libxlDomainStart to it's callers so
they have more control over when the job is acquired.  Patch 2 fixes a
few spots where we never acquired a job during domain destroy.  Patch 3
contains the interesting change, where the virDomainObj is unlocked
during the long-running destroy operation.

This series wraps up my work to improve parallel OpenStack Tempest runs
against the libxl driver.  With libvirt.git master + this series + a
patched libxl [1], I've successfully run a reproducer that was hitting
the same issues encountered by Tempest.

[1] libxl commits from xen.git: 93699882d, f1335f0d, 4783c99a, 1c91d6fba,
and 188e9c54.  I'll contact the stable branch maintainers and ask them
to include these commits in the next Xen 4.4.x and 4.5.x releases.

Jim Fehlig (3):
  libxl: Move job acquisition in libxlDomainStart to callers
  libxl: acquire a job when destroying a domain
  libxl: drop virDomainObj lock when destroying a domain

 src/libxl/libxl_domain.c | 77 +++++++++++++++++++----------------------------
 src/libxl/libxl_domain.h |  4 ---
 src/libxl/libxl_driver.c | 78 ++++++++++++++++++++++++++++++++++++------------
 3 files changed, 89 insertions(+), 70 deletions(-)

-- 
1.8.4.5




More information about the libvir-list mailing list