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 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list