Re: [PATCH v11 06/10] genirq/msi-doorbell: msi_doorbell_safe

From: Thomas Gleixner
Date: Fri Jul 22 2016 - 08:46:31 EST


On Thu, 21 Jul 2016, Auger Eric wrote:
> On 20/07/2016 10:12, Thomas Gleixner wrote:
> > On Tue, 19 Jul 2016, Eric Auger wrote:
> >> +bool msi_doorbell_safe(void)
> >> +{
> >> + struct irqchip_doorbell *db;
> >> + bool irq_remapping = true;
> >> +
> >> + mutex_lock(&irqchip_doorbell_mutex);
> >> + list_for_each_entry(db, &irqchip_doorbell_list, next) {
> >> + irq_remapping &= db->info.irq_remapping;
> >
> > db->info.irq_remapping is set in msi_doorbell_register(). So you can keep book
> > about that there. No need to iterate here.
> Yes makes sense to store the info at registration time. Currently this
> function is not in any fast path but that's cleaner from a general
> perspective. I will need to do such iteration at un-registration though.

Two simple counter should be sufficient.

nr_registered_bells;
nr_remapped_bells;

....

Thanks,

tglx