[uClinux-dev] soft_irq()

John Williams jwilliams at itee.uq.edu.au
Mon Mar 24 01:11:24 EST 2003


Hi folks,

Can anyone give me the "25 words or less" on the kernel soft_irq 
mechanism?  There's precisely zero mention of it in "Understanding the 
linux kernel", and I think it's what's giving me grief in my early 
startup (immediately after sti()).

In handle_irq(), after actually dispatching the handler->action() and 
all that, the last thing that happens before returning into entry.S to 
clean up the IRQ saved state is the following

if(softirq_pending(cpu))
   do_softirq();

For some reason my kernel is taking this branch, even though the only 
interrupt enabled is the timer, and I can't see anything it does that 
could cause softirq_pending() to be true.

Can anyone offer any helpful words?

Thanks,

john




More information about the uClinux-dev mailing list