* Re: [i386, x86-64] ioapic_register_intr() and assign_irq_vector() questions
@ 2006-04-14 17:16 Jan Beulich
2006-04-14 21:34 ` [discuss] " Andi Kleen
0 siblings, 1 reply; 3+ messages in thread
From: Jan Beulich @ 2006-04-14 17:16 UTC (permalink / raw)
To: Andreas Kleen; +Cc: tom.l.nguyen, linux-kernel, discuss
>> 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.
Jan
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [discuss] Re: [i386, x86-64] ioapic_register_intr() and assign_irq_vector() questions
2006-04-14 17:16 [i386, x86-64] ioapic_register_intr() and assign_irq_vector() questions Jan Beulich
@ 2006-04-14 21:34 ` Andi Kleen
2006-04-20 10:52 ` Jan Beulich
0 siblings, 1 reply; 3+ messages in thread
From: Andi Kleen @ 2006-04-14 21:34 UTC (permalink / raw)
To: discuss; +Cc: Jan Beulich, tom.l.nguyen, linux-kernel
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?
-Andi
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [discuss] Re: [i386, x86-64] ioapic_register_intr() and assign_irq_vector() questions
2006-04-14 21:34 ` [discuss] " Andi Kleen
@ 2006-04-20 10:52 ` Jan Beulich
0 siblings, 0 replies; 3+ messages in thread
From: Jan Beulich @ 2006-04-20 10:52 UTC (permalink / raw)
To: Andi Kleen; +Cc: tom.l.nguyen, linux-kernel, discuss
>>> 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
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2006-04-20 10:51 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-04-14 17:16 [i386, x86-64] ioapic_register_intr() and assign_irq_vector() questions Jan Beulich
2006-04-14 21:34 ` [discuss] " Andi Kleen
2006-04-20 10:52 ` Jan Beulich
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox