Messages in this thread |  | | | Subject | Re: Multiple MSI, take 4 | | From | Benjamin Herrenschmidt <> | | Date | Sat, 12 Jul 2008 17:37:20 +1000 | |
On Fri, 2008-07-11 at 15:16 -0600, Matthew Wilcox wrote:
> Here we go with take 4. Changes:
>
> - Check the requested number of interrupts against the maximum number
> the device claims to support. Thanks to Hidetoshi Seto for pointing
> out this oversight.
> - Implemented Eric's suggestion of using a single IRQ and storing the
> data with it.
> - As a result, don't try to support the mode in the AHCI driver where
> the excess ports all share the last interrupt. It could be done, but
> it would be rather messy and I don't have hardware that supports that
> mode anyway.
>
> I'm fairly comfortable with the subchannel notion we're introducing
> here. It's more flexible than MSI and doesn't impose a penalty on
> architectures which don't implement it. It makes some things more
> complex, but it makes other things simpler, so I think it's a wash from
> a cleanliness standpoint.
I prefer you initial approach. If those are effectively one interrupt,
you end up with the whole IRQ_INPROGRESS logic going bonkers trying to
prevent them from occuring at the same time and possibly losing some.
I think the masking "issue" is mostly a non-issue as I explained in
other emails.
Cheers,
Ben.
|  |