Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 11 Feb 1998 03:45:31 +0000 (GMT)
From:      Terry Lambert <tlambert@primenet.com>
To:        eivind@yes.no (Eivind Eklund)
Cc:        smp@csn.net, eivind@yes.no, current@FreeBSD.ORG
Subject:   Re: Minor test from somebody with SMP needed
Message-ID:  <199802110345.UAA02149@usr04.primenet.com>
In-Reply-To: <19980210182124.35246@follo.net> from "Eivind Eklund" at Feb 10, 98 06:21:24 pm

next in thread | previous in thread | raw e-mail | index | archive | help
> > These routines can't work with SMP as they substitute for real locks
> > and an SMP machine would soon go down in flames if it depended on them.
> > They are a debug mechanism for a single CPU system, and predate the
> > FreeBSD developmnent effort.
> 
> OK, what is the right fix, then?  I can see three obvious 'fixes' for
> the time being:
> 
> 1. Make SIMPLELOCK_DEBUG a no-op if NCPUS > 1
> 
> 2. Rip out the SIMPLELOCK_DEBUG code (if it is no longer usable, and
> not likely to become usable)
> 
> 3. Do the below change (basically an error if compiling anything other
> than LINT with SIMPLELOCK_DEBUG and SMP)

They need to be real locks.

The reason they need to be real locks is that if kernel preemption is
to be allowed in kernel threading, then there may be a case they need
to lock against.

Topologically, kernel preemption on a single CPU is equivalent to
the problem of multiple CPU's being in the kernel.

You should probably get with John Dyson on this; he's the most
vocal advocate of kernel threads.


					Terry Lambert
					terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe current" in the body of the message



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