Skip site navigation (1)Skip section navigation (2)
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>

next in thread | previous in thread | raw e-mail | index | archive | help
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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0007060925340.6058-100000>