Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 2 Mar 2004 12:25:24 -0500
From:      John Baldwin <jhb@FreeBSD.org>
To:        smp@FreeBSD.org
Cc:        freebsd-smp@freebsd.org
Subject:   Re: Parallel interrupt threads
Message-ID:  <200403021225.24472.jhb@FreeBSD.org>
In-Reply-To: <4044B412.4E604099@syskonnect.de>
References:  <4044B412.4E604099@syskonnect.de>

next in thread | previous in thread | raw e-mail | index | archive | help
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@FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve"  =  http://www.FreeBSD.org



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200403021225.24472.jhb>