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

From: Jesse Barnes
Date: Mon May 19 2008 - 16:12:15 EST


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?

Thanks,
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/