Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 29 Jun 1999 03:20:16 -0500 (EST)
From:      Alfred Perlstein <bright@rush.net>
To:        Terry Lambert <tlambert@primenet.com>
Cc:        Matthew Dillon <dillon@apollo.backplane.com>, jhay@mikom.csir.co.za, peter@netplex.com.au, alc@cs.rice.edu, bakul@torrentnet.com, julian@whistle.com, freebsd-smp@FreeBSD.ORG
Subject:   Re: high-efficiency SMP locks - submission for review
Message-ID:  <Pine.BSF.3.96.990628210428.14320V-100000@cygnus.rush.net>
In-Reply-To: <199906290055.RAA07451@usr05.primenet.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 29 Jun 1999, Terry Lambert wrote:

> >     Since 386's are UP systems, I think it would be fairly easy to implement
> >     the UP version of the compare-and-exchange primitive trivially with an
> >     spl wrapper.  We should be able to freely use use the cmpxchg instruction
> >     on SMP systems.
> 
> Unless this was done at runtime, ala the bcopy code, I think that
> it would be a terrible idea to balkanize the systems that a generic
> kernel was capable of running on without recompilation.

We have a nifty loader now, why not have it determine the CPU
type and boot the appropriate kernel?  It could easily been done
in forth if the loader exported the CPU type in an enviorment
flag...

Doesn't Sun do this?

Of course you would also need to have kldload use a sysctl to know
where to grab klds from by default.  Klds should also be branded
to make sure only the appropriate ones were loaded on each step of
the intel processor.

Another question, why aren't some syscalls implemented like so:

getpid would read the contents of a page mapped into the process'
address space, ie, the kernel sharing info with processes through
shared mappings?

-Alfred



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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.96.990628210428.14320V-100000>