Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 03 Jul 2000 13:15:16 -0700
From:      Jake Burkholder <jburkhol@home.com>
To:        Jason Evans <jasone@canonware.com>
Cc:        Greg Lehey <grog@lemis.com>, Matthew Dillon <dillon@apollo.backplane.com>, freebsd-smp@freebsd.org
Subject:   Re: SMP progress (was: Stepping on Toes) 
Message-ID:  <20000703201516.28BA3BA4E@io.yi.org>
In-Reply-To: Message from Jason Evans <jasone@canonware.com>  of "Mon, 03 Jul 2000 08:41:31 PDT." <20000703084130.D826@blitz.canonware.com> 

index | next in thread | previous in thread | raw e-mail

> On Mon, Jul 03, 2000 at 11:22:03AM +0930, Greg Lehey wrote:
> > 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.
> 
> Jake Burkholder offered to port the mutex code, and I discussed this with
> Matt last week, who had no problems with Jake doing it.  As of last night,
> it sounds like Jake essentially has this done for i386, and Doug Rabson
> will be following soon with the alpha bits.  Jake's patch set also includes
> the pertinent parts of Matt's work (per-CPU idle processes, some of the
> schedlock changes, etc.).  I'll be adding a link to Jake's most recent
> patch set on the web page (http://people.freebsd.org/~jasone/smp/) shortly.
> Meanwhile, you can get Jake's patch set at:
> 
> http://people.freebsd.org/~jake/smpng2.tar

I've just updated this to this mornings -current and added my kernel
config.

The biggest change is that cpu_switch() no longer disable or enable
interrupts directly.  Its taken care of by sched_lock since BSD/OS
spin mutexes enable and disable interrupts on the first and last
release.  Protecting the run queues is not really necessary right
now, but its a step in the right direction.

I haven't dealt with the mp_lock, but I've had this patch running on
my UP box for a while, building kernels etc.

I think we'll want to make INVARIANTS, INVARIANT_SUPPORT, DIAGNOSTIC,
and SMP_DEBUG on by default in -current for a while at least.  Every
assertion helps.  WITNESS currently isn't doing anything because the
sched_lock is ignored, but we'll likely want that by default too.

Jake

> 
> > 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.
> 
> Yep, the stage is set for this work to begin now.
> 
> > 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.
> 
> A successful buildworld would be a satisfactory test of stability in my
> eyes.  Hopefully we can do that well. =)
> 
> Jason




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?20000703201516.28BA3BA4E>