Parallel interrupt threads

Gerald Heinig gheinig at syskonnect.de
Tue Mar 2 08:19:35 PST 2004


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.

Cheers,
Gerald

-- 
S y s K o n n e c t   G m b H
A Marvell Company
Siemensstr. 23
D-76275 Ettlingen, Germany
---------------------------------
Gerald Heinig
Software Engineer
-------------------------------------
phone:  + 49 (0) 7243 502 354
fax:        +49 (0) 7243 502 364
email: gheinig at syskonnect.de
http://www.syskonnect.com


More information about the freebsd-smp mailing list