On Wednesday, June 22, 2011 3:59:06 am Sushanth Rai wrote:
> Hi,
> 
> I would like to understand little bit about the FreeBSD interrupt handling 
on x86.
> 
> When a cpu is processing an IPI, let's say cpu is running IPI_STOP handler, 
are I/O interrupts like the timer interrupt disabled ? Conversely if the cpu 
is holding a spinlock, which means it has disabled interrupts, can it process 
an IPI. My understanding is executing "cli" instruction disables the maskable 
interrupts. I was wondering if IPIs are part of that.

Yes, IPIs generally are blocked.  We do use an NMI IPI when entering the
debugger (and possibly during panics), but general IPIs like TLB shootdowns, 
etc. are all maskable interrupts.  Also, all of the IPI handlers (and the 
lapic timer interrupt) operate like normal device interrupt handlers using 
interrupt gates (which block interrupts equivalent to cli).

-- 
John Baldwin
_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"

Reply via email to