Re: [PATCH v3] genirq/matrix: Choose CPU for managed IRQs based on how many of them are allocated

From: Thomas Gleixner
Date: Sat Nov 03 2018 - 13:16:03 EST


On Sat, 3 Nov 2018, Thomas Gleixner wrote:
> On Fri, 2 Nov 2018, Long Li wrote:
> > /**
> > * irq_matrix_assign_system - Assign system wide entry in the matrix
> > * @m: Matrix pointer
> > @@ -269,7 +291,7 @@ int irq_matrix_alloc_managed(struct irq_matrix *m, const struct cpumask *msk,
> > if (cpumask_empty(msk))
> > return -EINVAL;
> >
> > - cpu = matrix_find_best_cpu(m, msk);
> > + cpu = matrix_find_best_cpu_managed(m, msk);
> > if (cpu == UINT_MAX)
> > return -ENOSPC;
> >
> > @@ -282,6 +304,7 @@ int irq_matrix_alloc_managed(struct irq_matrix *m, const struct cpumask *msk,
> > return -ENOSPC;
> > set_bit(bit, cm->alloc_map);
> > cm->allocated++;
> > + cm->managed_allocated++;
> > m->total_allocated++;
> > *mapped_cpu = cpu;
> > trace_irq_matrix_alloc_managed(bit, cpu, m, cm);
>
> so far so good. But what exactly decrements managed_allocated ?

Another thing. If we add that counter, then it would be good to expose it
in the debugfs files as well.

Thanks,

tglx