Re: [PATCH 1/2] genirq/msi, platform-msi: Adjust return value of msi_domain_prepare_irqs()

From: Thomas Gleixner
Date: Tue May 30 2023 - 11:04:05 EST


On Tue, May 30 2023 at 16:34, Huacai Chen wrote:
> On Tue, May 30, 2023 at 4:19 AM Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:
>> Let's take a step back and look at the larger picture:
>>
>> 1) A PCI/MSI irqdomain is attached to a PCI bus
>>
>> 2) The number of PCI devices on that PCI bus is usually known at boot
>> time _before_ the first device driver is probed.
>>
>> That's not entirely true for PCI hotplug devices, but that's hardly
>> relevant for an architecture which got designed less than 10 years
>> ago and the architects decided that 256 MSI vectors are good enough
>> for up to 256 CPUs. The concept of per CPU queues was already known
>> at that time, no?
> Does this solution depend on the per-device msi domain? Can we do that
> if we use the global msi domain?

In principle it should not depend on per-device MSI domains, but I
really don't want to add new functionality to the old operating models
as that does not create an incentive for people to convert their stuff
over.

>> So the irqdomain can tell the PCI/MSI core the maximum number of vectors
>> available for a particular bus, right?
>>
>> The default, i.e if the irqdomain does not expose that information,
>> would be "unlimited", i.e. ULONG_MAX.
> OK, thanks, but how to expose? By msi_domain_info::hwsize?

Probably. Needs a proper helper around it.

Thanks,

tglx