Re: [PATCH v2 1/2] genirq: add an irq_create_mapping_affinity() function

From: Marc Zyngier
Date: Wed Nov 25 2020 - 09:54:25 EST


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()."

Thanks,

M.
--
Jazz is not dead. It just smells funny...