[libvirt] [PATCH 0/9] Fine grained locking in LXC driver

Michal Privoznik mprivozn at redhat.com
Wed Jul 17 13:04:17 UTC 2013


The first round of my patches that breaks LXC driver into smaller pieces. With
my testing on 10 domains which are started up and destroyed in a loop with 10
iterations (each loop is run in a separate thread in client):

Before:
real    0m45.973s
user    0m0.080s
sys     0m0.020s

After:
real    0m14.951s
user    0m0.080s
sys     0m0.020s

Michal Privoznik (9):
  qemu: Move close callbacks handling into util/virclosecallbacks.c
  Introduce a virLXCDriverConfigPtr object
  lxc: Use atomic ops for driver->nactive
  Introduce annotations for virLXCDriverPtr fields
  lxc: switch to virCloseCallbacks API
  Stop accessing driver->caps directly in LXC driver
  lxc: Make activeUsbHostdevs use locks
  Remove lxcDriverLock from almost everywhere
  Introduce lxcDomObjFromDomain

 po/POTFILES.in               |   1 +
 src/Makefile.am              |   4 +-
 src/libvirt_private.syms     |   8 +
 src/lxc/lxc_conf.c           | 120 ++++++--
 src/lxc/lxc_conf.h           |  64 ++--
 src/lxc/lxc_controller.c     |   2 +-
 src/lxc/lxc_driver.c         | 705 +++++++++++++++----------------------------
 src/lxc/lxc_hostdev.c        |   8 +
 src/lxc/lxc_process.c        | 181 ++++-------
 src/lxc/lxc_process.h        |   1 -
 src/qemu/qemu_conf.c         | 295 +-----------------
 src/qemu/qemu_conf.h         |  25 +-
 src/qemu/qemu_driver.c       |   4 +-
 src/qemu/qemu_migration.c    |  18 +-
 src/qemu/qemu_migration.h    |   2 +-
 src/qemu/qemu_process.c      |  14 +-
 src/util/virclosecallbacks.c | 356 ++++++++++++++++++++++
 src/util/virclosecallbacks.h |  56 ++++
 18 files changed, 900 insertions(+), 964 deletions(-)
 create mode 100644 src/util/virclosecallbacks.c
 create mode 100644 src/util/virclosecallbacks.h

-- 
1.8.1.5




More information about the libvir-list mailing list