:I haven't looked at the patch so I can't comment on it (but it sounds very
:promising).
:
:I have been writing some of the infrastructure for SMP on alpha and as an
:experiment I've been using the mutex_t primitive from BSD/OS as an
:experiment. This is a nice simple api for a counting mutex which BSD/OS
:4.1 uses for its BGL. I have not yet seen the new BSD/OS smp code but it
:seemed that using mutex_t might make it marginally easier to work with
:that.
:
:--
:Doug Rabson Mail: [EMAIL PROTECTED]
:Nonlinear Systems Ltd. Phone: +44 181 442 9037
Our BGL is essentially the same thing - a counting mutex with no
special attributes (for example, it doesn't get fancy with cli/sti).
I did a commit in Nov 99 which optimized the recursion case.
It may not have been apparent from reading the code due to all the
nasty CPU locking stuff that was in there (and now removed in my
patchset).
In FreeBSD we have two other sorts of SMP related locks: s_lock, and
ss_lock. s_lock is a simple spinlock, ss_lock is a spinlock which
disables interrupts.
ss_lock is really crufty. The word 'bad' doesn't even begin to describe
it. It is not recursive or nestable. It also will not apply at all
when we move to interrupt threads. I've been removing ss_lock use in
my SMP patch right and left and I'll probably remove the ss_lock code
itself in patch-08.
-Matt
Matthew Dillon
<[EMAIL PROTECTED]>
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message