Parallel interrupt threads

John Baldwin jhb at FreeBSD.org
Tue Mar 2 11:43:30 PST 2004


On Tuesday 02 March 2004 11:19 am, Gerald Heinig wrote:
> Hello all,
>
> I have a question about the assumptions I can make when designing the
> locking scheme for my driver.
> I need to know whether more than one interrupt thread can execute at any
> time for a particular device. Under some systems (eg. Aix, I believe)
> one can specify whether the interrupt service routine should be called
> sequentially or whether it can be called in parallel on multiple
> processors. In other words, do I need to lock (portions of) the ISR
> against itself, or is there a guarantee that at most one ISR will be
> active for a given device at any time?
>
> Also, what about processor binding? IIRC Solaris can bind all interrupts
> from a particular device to one CPU. Does FreeBSD do this too, or can
> any CPU process the ISR? Not that it matters which CPU actually does the
> work, but it's an extension to the question above.
>
> Any answers much appreciated.

Currently only a single ISR will execute at a time and I don't expect that to 
change any time soon.  Ithreads currently are not bound to CPUs but execute 
on any CPU.

-- 
John Baldwin <jhb at FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve"  =  http://www.FreeBSD.org


More information about the freebsd-smp mailing list