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

[Xen-devel] Re: [PATCH][RFC] fix some spinlock issues in vmsi

To: Keir Fraser <keir.fraser@xxxxxxxxxxxxx>
Subject: [Xen-devel] Re: [PATCH][RFC] fix some spinlock issues in vmsi
From: Qing He <qing.he@xxxxxxxxx>
Date: Sat, 7 Mar 2009 01:43:20 +0800
Cc: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>, Kouya Shimura <kouya@xxxxxxxxxxxxxx>
Delivery-date: Fri, 06 Mar 2009 09:42:13 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <C5D6CC7A.44B6%keir.fraser@xxxxxxxxxxxxx>
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: <20090306092112.GD23417@ub-qhe2> <C5D6CC7A.44B6%keir.fraser@xxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.5.17+20080114 (2008-01-14)
On Fri, 2009-03-06 at 20:50 +0800, Keir Fraser wrote:
> On 06/03/2009 09:21, "Qing He" <qing.he@xxxxxxxxx> wrote:
> 
> >> Add the locks, making it correct. Then optimise later as necessary, using
> >> RCU or (perhaps easier) just smaller locks: Per MSI-X or per-pci-dev or
> >> whatever. Throwing in racey code condemns us to subtle races forever more.
> > 
> > Ok, I'll make a patch to use the locks.
> > 
> > Do you think it's ok to assume that guest has already free the device
> > when calling remove_pci_device on hotplugging?
> 
> Do you mean deinitialised and unloaded the device driver?

Yes, the racey condition we just talked happens here. Consider
the following case, when remove_pci_device is called, the device
data structure is removed by the hypervisor. But there is no
guarauntee in the hypervisor that guest already has knowledge,
for example the guest may continue to access the device resources.
It's in this case msixtbl_{read,write} has a little racey condition.

I don't think this scenario is desirable, but does it happen in the
current logic?

Thanks,
Qing

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