[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20211128003905.GU4670@nvidia.com>
Date: Sat, 27 Nov 2021 20:39:05 -0400
From: Jason Gunthorpe <jgg@...dia.com>
To: Thomas Gleixner <tglx@...utronix.de>
Cc: LKML <linux-kernel@...r.kernel.org>,
Bjorn Helgaas <helgaas@...nel.org>,
Marc Zygnier <maz@...nel.org>,
Alex Williamson <alex.williamson@...hat.com>,
Kevin Tian <kevin.tian@...el.com>,
Megha Dey <megha.dey@...el.com>,
Ashok Raj <ashok.raj@...el.com>, linux-pci@...r.kernel.org,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Santosh Shilimkar <ssantosh@...nel.org>,
iommu@...ts.linux-foundation.org, dmaengine@...r.kernel.org,
Stuart Yoder <stuyoder@...il.com>,
Laurentiu Tudor <laurentiu.tudor@....com>,
Nishanth Menon <nm@...com>, Tero Kristo <kristo@...nel.org>,
linux-arm-kernel@...ts.infradead.org, x86@...nel.org,
Vinod Koul <vkoul@...nel.org>,
Mark Rutland <mark.rutland@....com>,
Will Deacon <will@...nel.org>, Sinan Kaya <okaya@...nel.org>
Subject: Re: [patch 00/37] genirq/msi, PCI/MSI: Spring cleaning - Part 2
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@linutronix.de
>
> 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@...dia.com>
Thanks,
Jason
Powered by blists - more mailing lists