[libvirt] [PATCH v2 1/2] conf: Rework virDomainObjListFindByUUID to allow more concurrent APIs

Michal Privoznik mprivozn at redhat.com
Tue Dec 16 13:00:10 UTC 2014


On 16.12.2014 11:15, Martin Kletzander wrote:
> Currently, when there is an API that's blocking with locked domain and
> second API that's waiting in virDomainObjListFindByUUID() for the domain
> lock (with the domain list locked) no other API can be executed on any
> domain on the whole hypervisor because all would wait for the domain
> list to be locked.  This patch adds new optional approach to this in
> which the domain is only ref'd (reference counter is incremented)
> instead of being locked and is locked *after* the list itself is
> unlocked.  We might consider only ref'ing the domain in the future and
> leaving locking on particular APIs, but that's no tonight's fairy tale.
>
> Signed-off-by: Martin Kletzander <mkletzan at redhat.com>
> ---
> v2:
>   - rebased on master where searching for domains was changed
>   - there's a difference between virDomainObjListFindByUUID and
>     virDomainObjListFindByUUIDRef now!
>
>   src/conf/domain_conf.c   | 29 ++++++++++++++++++++++++++---
>   src/conf/domain_conf.h   |  2 ++
>   src/libvirt_private.syms |  1 +
>   3 files changed, 29 insertions(+), 3 deletions(-)

ACK

Michal




More information about the libvir-list mailing list