[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

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



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


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]