Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 04 Jun 1996 22:19:45 -0700
From:      "Michael L. VanLoon -- HeadCandy.com" <michaelv@HeadCandy.com>
To:        Terry Lambert <terry@lambert.org>
Cc:        smp@freebsd.org
Subject:   Re: Unix/NT synchronization model (was: SMP progress?) 
Message-ID:  <199606050519.WAA25284@MindBender.HeadCandy.com>
In-Reply-To: Your message of Tue, 04 Jun 96 17:10:34 -0700. <199606050010.RAA27773@phaeton.artisoft.com> 

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

>>    Early SMP versions of just about every SMP Unix OS I know of started out
>> being a single lock and became fine-grained in subsequant versions (in many
>> cases before the code was officially released).

>Yes.  The simplest method of increasing granularity is to tier the
>locks as global mutexes (not fix that yet), and then "push down" the
>locks through th trap code into the system call layer.

What exactly do you mean by "push down the locks through the trap
code"?

>At that point, you are free to add locks to structures accessed as a
>result of an interrupt or exception (the only two ways, other than the
>trap, to get into the kernel), and then you can multithread the whole
>damn thing, one subsystem at a time.

Kind of how I had envisioned it...

>You break the trap lock into inferior locks, one per subsystem (ie: VFS),
>and then break that lock further to push down a call at a time in the
>given subsystem.

What exactly do you mean by breaking the lock down?  Are you saying to
have a general lock cover a broad range of kernel access, then make a
more specific lock for a subset of that range and remove that subset
from the broader lock?

-----------------------------------------------------------------------------
  Michael L. VanLoon                                 michaelv@HeadCandy.com
        --<  Free your mind and your machine -- NetBSD free un*x  >--
    NetBSD working ports: 386+PC, Mac 68k, Amiga, Atari 68k, HP300, Sun3,
        Sun4/4c/4m, DEC MIPS, DEC Alpha, PC532, VAX, MVME68k, arm32...
    NetBSD ports in progress: PICA, others...

   Roll your own Internet access -- Seattle People's Internet cooperative.
                  If you're in the Seattle area, ask me how.
-----------------------------------------------------------------------------



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199606050519.WAA25284>