On Tue, May 12, 2009 at 9:07 AM, Qihua Wu <dtrace...@gmail.com> wrote:
> From the man page,
> ithr is "interrupts as threads", but what's the detailed meaning of
> "interrupts as threads"? And under what condition will this interrupt
> happen?

The ithr column shows the number of interrupts that are converted to
real threads.  If you have a copy of Solaris Internals (2nd edition),
there's a good description of this in section 3.11.2.

In case you don't have a copy handy, I'll try to paraphrase.  Low
priority interrupts are handled as kernel threads.  To avoid the
penalty of fully initializing a kernel thread for every interrupt,
each CPU maintains a pool of interrupt threads, one per priority
level.  An interrupt will start off using just the stack from the pool
thread for its priority level, and the thread won't otherwise be
initialized.  If the interrupt is handled without blocking on a
synchronization object, the thread won't be fully initialized.  If the
handling code does block on a synchronization object, the thread will
be fully initialized.

So ithr is the count of all of those interrupts that blocked on some
synchronization object while being handled and for which a kernel
thread was fully initialized.

Chad
_______________________________________________
perf-discuss mailing list
perf-discuss@opensolaris.org

Reply via email to