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

[Xen-devel] Problem about RLock when starting VMs in parallel



Hi,

Here is a question about starting of subsequent VMs.

In the function of "start" from the class of XendDomain which is in the module of xen.xend.XendDomain, there's a pair of operations acquiring and releasing threading.RLock, which is like following:

    def domain_start(self, domid, start_paused = True):

        self.domains_lock.acquire()

        ....

        self.domains_lock.release()

The confine of the locked area is quite large, in fact it covers nearly all the function, which would cause most time in the serial scene when I actually call the start interface subsequently in hope that VMs would be parallel started.

The first question is:

I am wondering why here is so wide a lock for the thread, which would also block other operations :define, delete for instance.

When I tried to remove the lock, and started 10 VMs subsequently, following error occured:

libvir: Xen Daemon error : POST operation failed: xend_post: error from xen daemon: (xend.err "(3, 'No such process')"), exact error number is 500

The last sentence is printed by the debug information which is added by myself in order to catch the exact error number from http.py

 

Now here is the second question which is in fact derived from the first one:

Why these error messages? I can not find the original reason from the logs, neither syslog nor xend.log .

 

I would appreciate you so much if any help be given. Thanks a lot!



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.