Re: [PATCH][PCI]: Introduce pci_find_capability_cached and make MSI use it

From: Jesse Barnes
Date: Fri May 16 2008 - 13:45:21 EST

On Thursday, May 15, 2008 10:10 am Arnaldo Carvalho de Melo wrote:
> Em Thu, May 15, 2008 at 11:04:07AM -0600, Matthew Wilcox escreveu:
> > On Thu, May 15, 2008 at 01:04:26PM -0300, Arnaldo Carvalho de Melo wrote:
> > > So I implemented pci_find_capability_cached and made MSI use it
> > > for good measure, please consider applying.
> >
> > As I told you on IRC, this is just the MSI code being complete crap.
> > It should be caching the offset itself. We shouldn't have this extra
> > array in the struct pci_dev just because MSI is broken.
> Well, we can certainly do that, its just that I did this first and
> thought that perhaps there could be some other users, but I see that 44
> extra bytes per pci_dev can be a pain if the only one to reap benefits
> is MSI, can't you think of any other users? I couldn't detect any so far
> in my admitedly limited testing.

There are a few other common cap checks, but I don't think they compare to MSI
in terms of latency sensitivity (though I didn't audit all the CAP_ID_EXP
checks, there are quite a few of those).

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.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at