Re: [RFC PATCH v3] genirq/affinity: Create and transfer more irq desc info by a new structure

From: Thomas Gleixner
Date: Wed Nov 28 2018 - 16:28:29 EST


On Wed, 28 Nov 2018, Bjorn Helgaas wrote:
> On Wed, Nov 28, 2018 at 10:45 AM Dou Liyang <douliyangs@xxxxxxxxx> wrote:
> > if (affd)
> > - masks = irq_create_affinity_masks(nvec, affd);
> > -
> > + affi_desc = irq_create_affinity_desc(nvec, affd);
> >
> > /* MSI Entry Initialization */
> > - entry = alloc_msi_entry(&dev->dev, nvec, masks);
> > + entry = alloc_msi_entry(&dev->dev, nvec, affi_desc);
>
> Can you split this into two or more patches? Most of these changes
> are trivial and not very interesting, and the fact that they're all in
> one patch makes it hard to find and review the interesting bits. For
> example,
>
> 1) Rename all the local variables while keeping the type the same
> (or just leave the name the same; I think "affinity" would be a fine
> name, and I would be OK if we ended up with "struct irq_affinity_desc
> *masks" or "struct irq_affinity_desc *affinity"). This patch would
> obviously have no functional impact and would remove a lot of the
> trivial changes.
>
> 2) Add "struct irq_affinity_desc" containing only "struct cpumask
> masks" and irq_create_affinity_desc() (or leave the name as
> irq_create_affinity_masks() and adjust the signature). This would
> also have no functional impact and would be a fairly trivial patch.
>
> 3) Add "flags" to struct irq_affinity_desc and the related code.
> This is the real meat of your patch, and with the above out of the
> way, it will be much smaller and it'll be obvious what the important
> changes are.

You beat me to it. I was going to ask the same thing. Albeit I'll go over
the conceptual stuff right now as I roughly know what it tries to achieve.

Thanks,

tglx