[libvirt] [PATCH v2] Remove qemuDriverLock from almost everywhere

Daniel P. Berrange berrange at redhat.com
Mon Feb 11 16:59:24 UTC 2013


On Mon, Feb 11, 2013 at 04:47:29PM +0000, Daniel P. Berrange wrote:
> From: "Daniel P. Berrange" <berrange at redhat.com>
> 
> With the majority of fields in the virQEMUDriverPtr struct
> now immutable or self-locking, there is no need for practically
> any methods to be using the QEMU driver lock. Only a handful
> of helper APIs in qemu_conf.c now need it

BTW, example of the performance improvements this brings

With the 0.10.2 release of libvirt, running 4 threads in
parallel, each starting + stopping 50 VMs, takes 2 mins 11
seconds.

This is on a 2 CPU machine. I'd expect the win to be even
greater on a machine with more CPUs.


In terms of testing, I am using a torture test which runs
multiple threads, each creating+destroying VMs in parallel.
I've successfully run this for over 5000 VM create+delete
pairs so far, without any issues (it has previously detected
a few crashes and deadlocks during my earlier testing of
previous versions of this patch).

Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|




More information about the libvir-list mailing list