|Matthew Dillon||Jun 23, 2000 11:36 am|
|David Greenman||Jun 24, 2000 9:10 pm|
|Matthew Dillon||Jun 25, 2000 10:24 am|
|Jake Burkholder||Jun 25, 2000 11:19 am|
|Chuck Paterson||Jun 26, 2000 9:50 am|
|Matthew Dillon||Jun 27, 2000 10:41 am|
|Chuck Paterson||Jun 27, 2000 11:19 am|
|Kevin Van Maren||Jun 29, 2000 1:52 pm|
|Greg Lehey||Jul 2, 2000 6:51 pm|
|Jason Evans||Jul 3, 2000 8:41 am|
|Jake Burkholder||Jul 3, 2000 1:14 pm|
|Jake Burkholder||Jul 5, 2000 2:23 am|
|Matthew Dillon||Jul 5, 2000 9:43 am|
|Chuck Paterson||Jul 5, 2000 9:52 am|
|Chuck Paterson||Jul 5, 2000 9:57 am|
|Luoqi Chen||Jul 5, 2000 10:29 am|
|Matthew Dillon||Jul 5, 2000 11:28 am|
|Greg Lehey||Jul 5, 2000 4:20 pm|
|Doug Rabson||Jul 6, 2000 1:26 am|
|Matthew Dillon||Jul 6, 2000 10:43 am|
|Greg Lehey||Jul 22, 2000 2:26 am|
|Matthew Dillon||Jul 22, 2000 9:20 am|
|Chuck Paterson||Jul 22, 2000 9:57 am|
|Bruce Evans||Jul 22, 2000 10:36 am|
|Greg Lehey||Jul 23, 2000 8:14 pm|
|Bruce Evans||Jul 24, 2000 1:08 am|
|Chuck Paterson||Jul 24, 2000 6:43 am|
|Matthew Dillon||Jul 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|
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:
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.
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