[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Question about sharing spinlock_t among VMs in Xen
On 06/13/2016 01:43 PM, Meng Xu wrote: > Hi, > > I have a quick question about using the Linux spin_lock() in Xen > environment to protect some host-wide shared (memory) resource among > VMs. > > *** The question is as follows *** > Suppose I have two Linux VMs sharing the same spinlock_t lock (through > the sharing memory) on the same host. Suppose we have one process in > each VM. Each process uses the linux function spin_lock(&lock) [1] to > grab & release the lock. > Will these two processes in the two VMs have race on the shared lock? You can't do this: depending on which Linux version you use you will find that kernel uses ticketlocks or qlocks locks which keep track of who is holding the lock (obviously this information is internal to VM). On top of this on Xen we use pvlocks which add another (internal) control layer. > > My speculation is that it should have the race on the shard lock when > the spin_lock() function in *two VMs* operate on the same lock. > > We did some quick experiment on this and we found one VM sometimes see > the soft lockup on the lock. But we want to make sure our > understanding is correct. > > We are exploring if we can use the spin_lock to protect the shared > resources among VMs, instead of using the PV drivers. If the > spin_lock() in linux can provide the host-wide atomicity (which will > surprise me, though), that will be great. Otherwise, we probably have > to expose the spin_lock in Xen to the Linux? I'd think this has to be via the hypervisor (or some other third party). Otherwise what happens if one of the guests dies while holding the lock? -boris > > [1] http://lxr.free-electrons.com/source/include/linux/spinlock.h#L300 > > Thank you very much for your time and help in this question! > > Best Regards, > > Meng > > ----------- > Meng Xu > PhD Student in Computer and Information Science > University of Pennsylvania > http://www.cis.upenn.edu/~mengxu/ > > _______________________________________________ > Xen-devel mailing list > Xen-devel@xxxxxxxxxxxxx > http://lists.xen.org/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |