Messages in this thread | | | Date | Thu, 20 Apr 2006 12:52:02 +0200 | From | "Jan Beulich" <> | Subject | Re: [discuss] Re: [i386, x86-64] ioapic_register_intr() and assign_irq_vector() questions |
| |
>>> Andi Kleen <ak@suse.de> 14.04.06 23:34:18 >>> On Friday 14 April 2006 19:16, Jan Beulich wrote: >> >> Looking at the call paths assign_irq_vector() can get called from, I >> >> would think this function, namely as it's using static variables, >> >> lacks synchronization - is there any (hidden) reason this is not >> >> needed here? >> >> >It is only called during system initialization which is single threaded. >> >If someone added ioapic hotplug they would need to do something about >> >this. >> >> Hmm, as I looked through this I expected this to be possibly called also later, as it seems to be on paths reachable >> from exported functions (which clearly can be called only after the single-threaded phase is over. > >If it's not called from in tree modules we don't care. But should probably >bunk the exports if they are not needed. Which ones were it?
acpi_register_gsi -> mp_register_gsi -> io_apic_set_pci_routing -> assign_irq_vector
acpi_register_gsi is being exported and called from drivers/char/8250_acpi.c. acpi_register_gsi is also being called from acpi_pci_irq_enable, which in turn is being exported. There appear to be more (eg through pnpacpi and hpet), but I think these are sufficient.
Jan - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |