Re: [PATCH] msi: skip calling pci_find_capability from msi_set_mask_bits

From: Jesse Barnes
Date: Tue May 20 2008 - 16:07:16 EST


On Tuesday, May 20, 2008 12:56 pm Arnaldo Carvalho de Melo wrote:
> Em Mon, May 19, 2008 at 01:11:45PM -0700, Jesse Barnes escreveu:
> > On Sunday, May 18, 2008 9:48 pm Hidetoshi Seto wrote:
> > > Jesse Barnes wrote:
> > > > Since we know MSI is a problem, let's just go with fixing that for
> > > > now. If we find that other caps are also causing problems we can
> > > > revisit caching all of them; the patch is simple enough.
> > >
> > > Humm...
> > > I suppose it can be more simple. How about this patch?
> > >
> > > > everytime handle_edge_irq is called it needs to mask and unmask MSI,
> > > > and that leads to a series of very expensive calls to
> > > > pci_find_capability
> > >
> > > The position of MSI capability is already cached in the msi_desc when
> > > we enter the msi_set_mask_bits(). Use it instead.
> > >
> > > Signed-off-by: Hidetoshi Seto <seto.hidetoshi@xxxxxxxxxxxxxx>
> >
> > Yeah, this looks really nice. It should also fix Arnaldo's latency
> > problem, and really looks like a bug fix for the MSI code more than
> > anything.
> >
> > Arnaldo, can you take a look & test and ack/nack?
>
> Tested, works as expected, thanks.
>
> Acked-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>

Great, thanks a lot for testing (and getting us on track to fix this in the
first place!).

Jesse
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/