Date: Thu, 6 Jul 2000 09:26:51 +0100 (BST) From: Doug Rabson <dfr@nlsystems.com> To: Matthew Dillon <dillon@apollo.backplane.com> Cc: Greg Lehey <grog@lemis.com>, Chuck Paterson <cp@bsdi.com>, David Greenman <dg@root.com>, freebsd-smp@freebsd.org Subject: Re: SMP progress (was: Stepping on Toes) Message-ID: <Pine.BSF.4.21.0007060925340.6058-100000@salmon.nlsystems.com> In-Reply-To: <200007051643.JAA88121@apollo.backplane.com>
index | next in thread | previous in thread | raw e-mail
On Wed, 5 Jul 2000, Matthew Dillon wrote:
> :...
> :> At this moment, without interrupt threads, interrupts can share Giant
> :> with the curproc they interrupted. This is how our existing MP stuff
> :> worked already.
> :>
> :> When Greg moves interrupts to their own threads, and obtains Giant to
> :> run those interrupts, no more sharing will occur and just the fact
> :> that the interrupt is holding Giant guarentees that nobody else will
> :> be messing with SPLs, thus the SPLs can be removed entirely.
> :
> :Agreed. I'm in the process of implementing the heavy-weight interrupt
> :processes now. I've just taken a look at your web page and note that
> :the URL no longer exists; in conjunction with the discussion above,
> :I'm no longer sure how far you are. Are you importing the BSD/OS code
> :now?
> :
> :We should probably take the rest of this offline, but I wanted to
> :discuss how we do things. My idea is:
> :
> :1. You import the BSD/OS mutexes.
> :2. I import/implement the heavy-weight interrupt code, which I will
> : endeavour to get working relatively reliably. This should be a
> : fallback while I break^H^H^H^H^Himplement light-wait interrupt
> : threads.
> :3. You and I test our stuff together until it can stay up for an hour
> : or so (exact time to be determined by Jason, who'll be carrying
> : the can).
> :4. We commit the marginally stable stuff.
> :5. I carry on working on the light-weight threads.
> :
> :Any comments?
> :
> :Greg
>
> Jake Burkholder is porting the BSD/OS mutexes. I don't expect there
> to be much of a difference in regards to your heavy-weight interrupt
> work. I'm going to take a look at Jake's patchset tonight. I think
> the only operational item we need to research is the sti/cli stuff in
> the BSDI mutexes... we should be able to remove them at some point
> (my interrupt code is already using the ipending mechanism to deal
> with the scheduler mutex being active on the current cpu).
>
> If Jake's removed that, then we'll want to put it back in at some point
> since it saves a significant amount of overhead ('sti' and 'cli' are
> expensive instructions).
A spin lock which is used from both top and bottom halves *must* disable
interrupts, surely. Since we will only really end up with approximately
one of these (sched_lock) I don't think there is a real problem.
--
Doug Rabson Mail: dfr@nlsystems.com
Nonlinear Systems Ltd. Phone: +44 20 8442 9037
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-smp" in the body of the message
home |
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0007060925340.6058-100000>
