Re: [libvirt] [PATCH 11/15] Release driver and domain lock when running monitor commands

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

 



On Tue, Nov 03, 2009 at 02:50:05PM -0500, Daniel P. Berrange wrote:
> QEMU monitor commands may sleep for a prolonged period of time.
> If the virDomainObjPtr or qemu driver lock is held this will
> needlessly block execution of many other API calls. it also
> prevents asynchronous monitor events from being dispatched
> while a monitor command is executing, because deadlock will
> ensure.
> 
> To resolve this, it is neccessary to release all locks while
> executing a monitor command. This change introduces a flag
> indicating that a monitor job is active, and a condition
> variable to synchronize access to this flag. This ensures that
> only a single thread can be making a state change or executing
> a monitor command at a time, while still allowing other API
> calls to be completed without blocking
> 
> * src/qemu/qemu_driver.c: Release driver and domain lock when
>   running monitor commands
> * src/qemu/THREADS.txt: Document threading rules

  ACK, I don't understand everything by far but looks fine.

Daniel

-- 
Daniel Veillard      | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
daniel@xxxxxxxxxxxx  | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library  http://libvirt.org/

--
Libvir-list mailing list
Libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list

[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]