atom feed48 messages in org.freebsd.freebsd-smpRe: SMP discussion moving to freebsd...
FromSent OnAttachments
Matthew DillonJun 20, 2000 10:08 am 
Matthew JacobJun 20, 2000 10:15 am 
Matthew DillonJun 20, 2000 10:54 am 
Matthew JacobJun 20, 2000 11:15 am 
Poul-Henning KampJun 20, 2000 11:42 am 
Warner LoshJun 20, 2000 11:43 am 
Matthew JacobJun 20, 2000 11:45 am 
Poul-Henning KampJun 20, 2000 11:52 am 
Matthew JacobJun 20, 2000 11:57 am 
Warner LoshJun 20, 2000 12:02 pm 
Matthew DillonJun 20, 2000 12:23 pm 
Matthew JacobJun 20, 2000 12:24 pm 
Poul-Henning KampJun 20, 2000 12:29 pm 
Poul-Henning KampJun 20, 2000 12:34 pm 
Luoqi ChenJun 20, 2000 12:35 pm 
Nate WilliamsJun 20, 2000 12:35 pm 
Warner LoshJun 20, 2000 12:36 pm 
Matthew DillonJun 20, 2000 12:36 pm 
Poul-Henning KampJun 20, 2000 12:38 pm 
Nate WilliamsJun 20, 2000 12:40 pm 
Matthew JacobJun 20, 2000 12:41 pm 
Warner LoshJun 20, 2000 12:41 pm 
Matthew DillonJun 20, 2000 12:46 pm 
Poul-Henning KampJun 20, 2000 12:47 pm 
Warner LoshJun 20, 2000 12:49 pm 
Poul-Henning KampJun 20, 2000 12:50 pm 
Matthew DillonJun 20, 2000 12:53 pm 
Greg LeheyJun 20, 2000 12:58 pm 
Warner LoshJun 20, 2000 1:08 pm 
Bart van LeeuwenJun 20, 2000 1:42 pm 
The Hermit HackerJun 20, 2000 4:02 pm 
Matthew DillonJun 20, 2000 4:07 pm 
Warner LoshJun 20, 2000 4:11 pm 
Warner LoshJun 20, 2000 4:11 pm 
Warner LoshJun 20, 2000 4:18 pm 
Jason EvansJun 20, 2000 11:52 pm 
Jason EvansJun 21, 2000 12:16 am 
Matthew DillonJun 21, 2000 12:21 am 
Poul-Henning KampJun 21, 2000 12:21 am 
Matthew JacobJun 21, 2000 12:26 am 
Matthew DillonJun 21, 2000 12:29 am 
Matthew JacobJun 21, 2000 12:33 am 
Jason EvansJun 21, 2000 1:10 am 
Martin CracauerJun 21, 2000 8:37 am 
Matthew DillonJun 21, 2000 9:03 am 
Terry LambertJun 21, 2000 9:54 am 
Arun SharmaJun 21, 2000 10:24 pm 
Terry LambertJun 22, 2000 11:15 am 
Subject:Re: SMP discussion moving to freebsd-smp
From:Matthew Dillon (dil@apollo.backplane.com)
Date:Jun 20, 2000 12:46:08 pm
List:org.freebsd.freebsd-smp

: :> Right now the SP build works because I am allowing (unthreaded)
interrupts :> to steal the idleproc's context, and that only works because they can :> get the giant mutex without blocking (remember, the BSDI giant mutex :> is a blocking mutex, not a spin mutex). In the MP build the interrupts :> need to be able to block getting the giant mutex which means we need :> to implement heavy-weight interrupt threads at the very least before :> we can get anything working, because we are not allowed to block in :> the idleproc. :> :May I suggest we first make the giant mutex a spin mutex (as our good old :giant kernel lock) and focus on the SP first? In the mean time, MP should :continue to work, as only one processor is allowed in the kernel. Once the :SP is stablized, we start to tackle the MP build. : :-lq

Without interrupt threads it doesn't matter whether the GiantMutex is a spin or a blocking mutex because it will never get that far... it will always succeed the first try in the SP build.

But we have to implement interrupt threads in order to be able to migrate away from the SPL mechanism, and we have to do that for both builds (rip SPL's out of the kernel entirely). This, in fact, represents *most* of the work that is going to occur in the next few months (ripping out SPL's and replacing them with Mutexes).

The whole thing is interrelated. The GiantMutex must be held in order to be able to use the 'old' SPL mechanisms during the transition period. Interrupts must be threaded in order to be able to start replacing SPL's with mutexes. GiantMutex must be a blocking mutex to be able to thread interrupts. Therefore the GiantMutex must be a blocking mutex.

Interrupt threads are going to be 'in' in less then a week. To delay it would delay the entire project for the reasons outlined in the previous paragraph.

The Schedular mutex is a spinning lock in the new design and replaces the scheduler-aspects that the *old* spinning MP lock handled before. However, the aspects of the old MP lock that protected entry into the kernel (verses just the scheduler), migrates to the new blocking GiantMutex.

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