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] Re: [PATCH][RFC] fix some spinlock issues in vmsi

To: Qing He <qing.he@xxxxxxxxx>
Subject: Re: [Xen-devel] Re: [PATCH][RFC] fix some spinlock issues in vmsi
From: Kouya Shimura <kouya@xxxxxxxxxxxxxx>
Date: Fri, 6 Mar 2009 16:31:45 +0900
Cc: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>, Keir Fraser <keir.fraser@xxxxxxxxxxxxx>
Delivery-date: Thu, 05 Mar 2009 23:32:53 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <20090306053117.GA23417@ub-qhe2>
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: <7kiqmnfjhx.fsf@xxxxxxxxxxxxxxxxxxxxxxxxxx> <20090306053117.GA23417@ub-qhe2>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Hi Qing,

Thank you for review and elaboration.

Qing He writes:
> > - d->arch.hvm_domain.msixtbl_list_lock is redundant.
> >   irq_desc->lock covers it, thus remove the spinlock.
> 
> No, it's not redundant. msixtbl_list_lock is to protect msixtbl_list,
> which may contain entries for multiple irqs, consider if two
> pt_bind_irq are called simultaneously, irq_desc->lock wouldn't be
> enough to protect the list.

I see. Although two pt_bind_irq are hardly called simultaneously.

> > - ASSERT(spin_is_locked(&pcidevs_lock)) is not needed.
> >   At first, I intended to add the enclosure of pcidevs_lock.
> >   But this assertion seems pointless. pcidevs_lock is
> >   for alldevs_list and msixtbl_pt_xxx functions never refer it.
> 
> I was thinking that pcidevs_lock is already held for msixtbl_pt_xxx, but
> obviously I was wrong:-) However, it's not that pointless, msixtbl_pt_xxx
> refers to the content of pci_dev, the use of pcidevs_lock is intended to
> protect it against destructive modification, like an improper
> PHYDEVOP_manage_pci_remove. It may not be neccessary for a well-written
> device model, but that's something we can't rely on.

Okay, one more question.
If ASSERT(spin_is_locked(&pcidevs_lock)) is needed,
msixtbl_list_lock becomes redundant?
(i.e. pcidevs_lock must covers it)
Any way, msixtbl_list_lock would better be remained for the future...

Thanks,
Kouya

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