Special schedulers, one CPU only kernel, one only userland

Scott Long scottl at samsco.org
Wed Aug 10 21:14:10 GMT 2005


John Baldwin wrote:

> On Wednesday 10 August 2005 04:10 pm, Frank Mayhar wrote:
> 
>>On Wed, 2005-08-10 at 09:11 -0400, John Baldwin wrote:
>>
>>>I think this is the model that BSD/OS employed
>>>for SMP in its 4.x series before they did their version of SMPng.
>>
>>I didn't grunge around in the scheduler (much), but as far as I'm aware
>>BSD/OS 4.x used the Big Giant Lock mechanism just as FreeBSD did, and
>>for the same reason.
> 
> 
> I believe that at some point during the 4.x series they added a scheduler lock 
> that covered just enough to allow threads that weren't asleep in the kernel 
> to be switched to without require the big giant lock and that it was a pretty 
> decent performance win over the earlier single BGL ala FreeBSD 4.x.
> 

So when a syscall is made on an AP, does it get serviced on the same AP
(assuming that the lock is available and no sleeping is needed), or does
it get serviced my the BSP?  Where kernel threads explicitely pinned to
the BSP?  Was the APIC explicitely programmed to deliver only to the
BSP?

Scott


More information about the freebsd-arch mailing list