atom feed28 messages in org.freebsd.freebsd-smpRe: SMP progress (was: Stepping on To...
FromSent OnAttachments
Matthew DillonJun 23, 2000 11:36 am 
David GreenmanJun 24, 2000 9:10 pm 
Matthew DillonJun 25, 2000 10:24 am 
Jake BurkholderJun 25, 2000 11:19 am 
Chuck PatersonJun 26, 2000 9:50 am 
Matthew DillonJun 27, 2000 10:41 am 
Chuck PatersonJun 27, 2000 11:19 am 
Kevin Van MarenJun 29, 2000 1:52 pm 
Greg LeheyJul 2, 2000 6:51 pm 
Jason EvansJul 3, 2000 8:41 am 
Jake BurkholderJul 3, 2000 1:14 pm 
Jake BurkholderJul 5, 2000 2:23 am 
Matthew DillonJul 5, 2000 9:43 am 
Chuck PatersonJul 5, 2000 9:52 am 
Chuck PatersonJul 5, 2000 9:57 am 
Luoqi ChenJul 5, 2000 10:29 am 
Matthew DillonJul 5, 2000 11:28 am 
Greg LeheyJul 5, 2000 4:20 pm 
Doug RabsonJul 6, 2000 1:26 am 
Matthew DillonJul 6, 2000 10:43 am 
Greg LeheyJul 22, 2000 2:26 am 
Matthew DillonJul 22, 2000 9:20 am 
Chuck PatersonJul 22, 2000 9:57 am 
Bruce EvansJul 22, 2000 10:36 am 
Greg LeheyJul 23, 2000 8:14 pm 
Bruce EvansJul 24, 2000 1:08 am 
Chuck PatersonJul 24, 2000 6:43 am 
Matthew DillonJul 24, 2000 9:16 am 
Subject:Re: SMP progress (was: Stepping on Toes)
From:Jake Burkholder (jbur@home.com)
Date:Jul 3, 2000 1:14:54 pm
List:org.freebsd.freebsd-smp

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. =)

To Unsubscribe: send mail to majo@FreeBSD.org with "unsubscribe freebsd-smp" in the body of the message