[libvirt] In libxl_driver, how to lock/unlock objects while doing an operation that runs for a long time?

Daniel P. Berrange berrange at redhat.com
Thu May 10 15:46:58 UTC 2012


On Thu, May 10, 2012 at 11:20:20PM +0800, Oscar Ben wrote:
> In the discussion :
>          http://thread.gmane.org/gmane.comp.emulators.libvirt/53534
> 
> People mentioned about long-term operations' LOCKs there. It seems that, in
> libxl_driver, certain opeations may hold a lock for too long, thus other
> operations, even those just do query jobs, would be blocked.
> 
> In qemu_driver, there seems to be a more complexy way to solve this
> problem, by employing a condition variable.

Yep, that's pretty much the approach we'd want to take for libxl too
I believe.

> My question is :
>    Is "Fixing such problem in libxl_driver" in our todo-list?

Yes

>    If yes, what's the detailed solution? Will that be similar to qemu's
> CONDITION VARIABLE method?

Yes


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