Re: Race condition in interrupt handling
Haohui Mai <[email protected]> Wed, 14 Apr 2010 11:41:53 -0500
| Newsgroups | gmane.comp.micro-kernel.l4.l4ka.general |
|---|---|
| Message-ID | <[email protected]> |
Then it seems that IRQ migration is always turned on when SMP is enabled.
Then the assertion in api/v4/interrupt.cc seems problematic:
// we should only receive irqs if the thread is halted
ASSERT(irq_tcb->get_state().is_halted());
It seems it's not always the case when the machine have multiple CPUs.
Haohui
On 04/14/2010 04:15 AM, Jan Stoess wrote:
> On Tue, Apr 13, 2010 at 09:03:30AM -0500, Mai, Haohui wrote:
>
>> But I do agree with you that the spinlock might lead to a deadlock
>> under such the situation I described before.
>>
>> However, I'm unable to observe it during the debugging.
>>
>> Just to make sure, interrupt migration is disabled by default unless
>> I turn on "poll other cpu's queue on idle", right?
>>
>>
> No, idle polling does not have anything to do with IRQ migration. Latter is always avaisable and triggered implicitly when migrating IRQ threads.
>
> -Jan
>
>