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>