Re: [PATCH][3/26] IB/mthca: improve CQ locking part 1

2005-03-04 Thread Roland Dreier
Roland> What would pci_irq_sync() do exactly? Greg> Consolidate common code like this? :) I don't see how one can do that. As I pointed out in my reply to Jeff, it actually requires understanding how the driver uses the different MSI-X vectors to know which vector we need to synchronize

Re: [PATCH][3/26] IB/mthca: improve CQ locking part 1

2005-03-04 Thread Greg KH
On Thu, Mar 03, 2005 at 05:02:36PM -0800, Roland Dreier wrote: > Greg> Sure, I have no problem accepting that into the pci core. > > What would pci_irq_sync() do exactly? Consolidate common code like this? :) thanks, greg k-h - To unsubscribe from this list: send the line "unsubscribe linu

Re: [PATCH][3/26] IB/mthca: improve CQ locking part 1

2005-03-03 Thread Roland Dreier
> @@ -783,6 +777,11 @@ > cq->cqn & (dev->limits.num_cqs - 1)); > spin_unlock_irq(&dev->cq_table.lock); > +if (dev->mthca_flags & MTHCA_FLAG_MSI_X) > + synchronize_irq(dev->eq_table.eq[MTHCA_EQ_COMP].msi_x_vector); > + else > + synchroni

Re: [PATCH][3/26] IB/mthca: improve CQ locking part 1

2005-03-03 Thread Roland Dreier
Greg> Sure, I have no problem accepting that into the pci core. What would pci_irq_sync() do exactly? - R. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.htm

Re: [PATCH][3/26] IB/mthca: improve CQ locking part 1

2005-03-03 Thread Greg KH
On Thu, Mar 03, 2005 at 07:35:00PM -0500, Jeff Garzik wrote: > Roland Dreier wrote: > >@@ -783,6 +777,11 @@ > > cq->cqn & (dev->limits.num_cqs - 1)); > > spin_unlock_irq(&dev->cq_table.lock); > > > >+if (dev->mthca_flags & MTHCA_FLAG_MSI_X) > >+ synchronize_irq(de

Re: [PATCH][3/26] IB/mthca: improve CQ locking part 1

2005-03-03 Thread Jeff Garzik
Roland Dreier wrote: @@ -783,6 +777,11 @@ cq->cqn & (dev->limits.num_cqs - 1)); spin_unlock_irq(&dev->cq_table.lock); + if (dev->mthca_flags & MTHCA_FLAG_MSI_X) + synchronize_irq(dev->eq_table.eq[MTHCA_EQ_COMP].msi_x_vector); + else + synchronize_irq(dev->pdev->irq); + Tangent: I thin