RE: Race condition in interrupt handling

Jan Stoess <[email protected]> Tue, 13 Apr 2010 16:05:39 +0200
Newsgroups gmane.comp.micro-kernel.l4.l4ka.general
Message-ID <[email protected]>
From: Mai, Haohui [mailto:[email protected]] 
> What it seems to me is that the CPU is running irq_thread(), 
> and the hardware interrupt comes in, so that the CPU executes 
> the interrupt handler (which is intctrl_t::handle_irq()) and causes 
> this problem. The whole thing happens in kernel and it is irrelevant 
> to the delivery to the user level handler. 

See, that's what baffles me. I wasn't referring to the IRQ delivery to user by L4 but to IRQ delivery to the _kernel_ by the hardware. That shouldn't happen since CPU.IF=0 in the kernel.


--
Jan Stoess
KIT/UKa System Architecture Group
Phone: +49 (721) 608-4056
Fax: +49 (721) 608-7664
http://os.ibds.kit.edu/stoess