Re: [PATCH] msi-x: let drivers retry when not enough vectors

From: Sheng Yang
Date: Thu May 07 2009 - 05:40:01 EST


On Thursday 07 May 2009 17:27:31 Matthew Wilcox wrote:
> On Thu, May 07, 2009 at 04:51:24PM +0800, Sheng Yang wrote:
> > On Thursday 07 May 2009 16:28:41 Michael S. Tsirkin wrote:
> > > pci_enable_msix currently returns -EINVAL if you ask
> > > for more vectors than supported by the device, which would
> > > typically cause fallback to regular interrupts.
> > >
> > > It's better to return the table size, making the driver retry
> > > MSI-X with less vectors.
> >
> > Hi Michael
> >
> > I think driver should read from capability list to know how many vector
> > supported by this device before enable MSI-X for device, as
> > pci_msix_table_size() did...
>
> I think Michael's patch makes sense. It reduces the amount of work the
> driver has to do without requiring any additional work in the core. I
> don't see the disadvantage to it.
>
> Reviewed-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx>

It's indeed weird. Why the semantic of pci_enable_msix can be changed to
"enable msix, or tell me how many vector do you have"? You can simply call
pci_msix_table_size() to get what you want, also without any more work, no? I
can't understand...

--
regards
Yang, Sheng

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