Re: [PATCH v2 1/2] genirq: add an irq_create_mapping_affinity() function
From: Laurent Vivier
Date: Wed Nov 25 2020 - 10:00:39 EST
On 25/11/2020 15:54, Marc Zyngier wrote:
> On 2020-11-25 14:09, Laurent Vivier wrote:
>> On 25/11/2020 14:20, Thomas Gleixner wrote:
>>> Laurent,
>>>
>>> On Wed, Nov 25 2020 at 12:16, Laurent Vivier wrote:
>>>
>>> The proper subsystem prefix is: 'genirq/irqdomain:' and the first letter
>>> after the colon wants to be uppercase.
>>
>> Ok.
>>
>>>> This function adds an affinity parameter to irq_create_mapping().
>>>> This parameter is needed to pass it to irq_domain_alloc_descs().
>>>
>>> A changelog has to explain the WHY. 'The parameter is needed' is not
>>> really useful information.
>>>
>>
>> The reason of this change is explained in PATCH 2.
>>
>> I have two patches, one to change the interface with no functional
>> change (PATCH 1) and
>> one to fix the problem (PATCH 2). Moreover they don't cover the same subsystems.
>>
>> I can either:
>> - merge the two patches
>> - or make a reference in the changelog of PATCH 1 to PATCH 2
>> (something like "(see folowing patch "powerpc/pseries: pass MSI affinity to
>> irq_create_mapping()")")
>> - or copy some information from PATCH 2
>> (something like "this parameter is needed by rtas_setup_msi_irqs()
>> to pass the affinity
>> to irq_domain_alloc_descs() to fix multiqueue affinity")
>>
>> What do you prefer?
>
> How about something like this for the first patch:
>
> "There is currently no way to convey the affinity of an interrupt
> via irq_create_mapping(), which creates issues for devices that
> expect that affinity to be managed by the kernel.
>
> In order to sort this out, rename irq_create_mapping() to
> irq_create_mapping_affinity() with an additional affinity parameter
> that can conveniently passed down to irq_domain_alloc_descs().
>
> irq_create_mapping() is then re-implemented as a wrapper around
> irq_create_mapping_affinity()."
It looks perfect. I update the changelog with that.
Thanks,
Laurent