Re: [patch 00/37] genirq/msi, PCI/MSI: Spring cleaning - Part 2

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Nov 27, 2021 at 02:21:17AM +0100, Thomas Gleixner wrote:
> This is the second part of [PCI]MSI refactoring which aims to provide the
> ability of expanding MSI-X vectors after enabling MSI-X.
> 
> The first part of this work can be found here:
> 
>     https://lore.kernel.org/r/20211126222700.862407977@xxxxxxxxxxxxx
> 
> This second part has the following important changes:
> 
>    1) Cleanup of the MSI related data in struct device
> 
>       struct device contains at the moment various MSI related parts. Some
>       of them (the irq domain pointer) cannot be moved out, but the rest
>       can be allocated on first use. This is in preparation of adding more
>       per device MSI data later on.
> 
>    2) Consolidation of sysfs handling
> 
>       As a first step this moves the sysfs pointer from struct msi_desc
>       into the new per device MSI data structure where it belongs.
> 
>       Later changes will cleanup this code further, but that's not possible
>       at this point.
> 
>    3) Store per device properties in the per device MSI data to avoid
>       looking up MSI descriptors and analysing their data. Cleanup all
>       related use cases.
> 
>    4) Provide a function to retrieve the Linux interrupt number for a given
>       MSI index similar to pci_irq_vector() and cleanup all open coded
>       variants.

The msi_get_virq() sure does make a big difference.. Though it does
highlight there is some asymmetry with how platform and PCI works here
where PCI fills some 'struct msix_entry *'. Many drivers would be
quite happy to just call msi_get_virq() and avoid the extra memory, so
I think the msi_get_virq() version is good.

Reviewed-by: Jason Gunthorpe <jgg@xxxxxxxxxx>

Thanks,
Jason



[Index of Archives]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux PCI]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux