Re: [PATCH 3/4] AHCI: Request multiple MSIs

From: Grant Grundler
Date: Sun Jul 20 2008 - 03:49:34 EST

On Mon, Jul 07, 2008 at 11:48:03AM -0600, Matthew Wilcox wrote:
> On Mon, Jul 07, 2008 at 10:45:34AM -0600, Grant Grundler wrote:
> > If the system is busy, the readl is the cost of coalescing the
> > interrupts. I suspect it's cheaper to take one readl than
> > handle 16 individual interrupts.
> 16 would be a maximum imposed by the AHCI spec. My ICH9 board has 6
> ports, but requests all 16 interrupts
> > I'm just pointing out the only upside of the existing code and not trying
> > to argue against this patch.
> There may well be an upside to the existing code, but it's pretty slim.
> The oprofile shows clearly that ahci_interrupt is the largest consumer of
> time during an iozone run. The only thing that routine does is read the
> HOST_IRQ_STAT register, acquire the spinlock and loop calling
> ahci_port_intr().
> I don't have a profile for this new code yet. Hopefully we'll have one
> by the end of the day.

where you able to get this profile?
I'm still curious.

> > BTW, one more downside of the regular IRQ is it's possibly shared.
> > Using MSI guaratees exclusive IRQ and avoids spurious readl's
> > when AHCI is not busy but the other device is. This would be worth
> > noting (or as a reminder) in the change log or as a comment in
> > the code.
> AHCI already allocates itself a new MSI if the machine supports MSI.
> This change merely extends AHCI to use multiple MSIs.



> Thanks.
> --
> Intel are signing my paycheques ... these opinions are still mine
> "Bill, look, we understand that you're interested in selling us this
> operating system, but compare it to ours. We can't possibly take such
> a retrograde step."
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