WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] [PATCH] gntdev: switch back to rwlocks

To: Jan Beulich <JBeulich@xxxxxxxxxx>
Subject: Re: [Xen-devel] [PATCH] gntdev: switch back to rwlocks
From: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Date: Fri, 9 Jul 2010 15:55:02 +0100
Cc: Jeremy Fitzhardinge <jeremy@xxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>, Stefano Stabellini <Stefano.Stabellini@xxxxxxxxxxxxx>
Delivery-date: Fri, 09 Jul 2010 07:55:32 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <4C375376020000780000A827@xxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <alpine.DEB.2.00.1007091527520.21432@kaball-desktop> <4C375376020000780000A827@xxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Alpine 2.00 (DEB 1167 2008-08-23)
On Fri, 9 Jul 2010, Jan Beulich wrote:
> >>> On 09.07.10 at 16:32, Stefano Stabellini 
> >>> <stefano.stabellini@xxxxxxxxxxxxx> wrote:
> > Hi Jeremy,
> > this patch switches back from spinlocks to rwlocks in gntdev, solving
> > the locking issue that was preventing stubdoms from working.
> > In particular the problem is that gntdev_mmap calls apply_to_page_range
> > after acquiring the spinlock. apply_to_page_range causes the mmu
> > notifiers to be called, so mn_invl_range_start will be called that will
> > try to acquire again the same spinlock.
> 
> Shouldn't this be solved in a way not depending on an implementation
> detail (rw-locks being unfair in that readers can lock out writers
> indefinitely)? Is it even certain that all arch-es implement rw-locks
> in a manner compatible with this?

any rwlock implementations that allow multiple readers will do: both
mn_invl_range_start and gntdev_mmap only require a read lock.


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