Re: [Patch v4 14/16] x86, irq: Introduce helper to check whether an IOAPIC has been registered

Thomas Gleixner
2014-09-10T20:08:00Z

On Wed, 10 Sep 2014, Jiang Liu wrote:
> On 2014/9/9 20:37, Thomas Gleixner wrote:
> >> + ret = mp_ioapic_registered(gsi_base);
> >> + up_write(&acpi_ioapic_rwsem);
> >> +
> >> + return ret;
> >> +}
> >
> > So I assume that this is for a particular caller in the apci ioapic
> > hotplug code and that call site has its own serialization. Otherwise
> > the return value is not protected at all.
> >
> > Please add a Docbook comment to that function, and document the
> > locking rules as thats pretty non obvious.
> How about this comments about locking rules?
> /*
> * Locks related to IOAPIC hotplug
> * Hotplug side:
> * ->lock_device_hotplug() //device_hotplug_lock
> * ->acpi_ioapic_rwsem
> * ->ioapic_lock
> * Interrupt mapping side:
> * ->acpi_ioapic_rwsem
> * ->ioapic_mutex
> * ->ioapic_lock
> */

That looks asymetric. Why is the hotplug side not taking ioapic_mutex?

Thanks,

tglx