Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 25 May 2000 11:37:13 -0700
From:      Peter Wemm <peter@netplex.com.au>
To:        Warner Losh <imp@village.org>
Cc:        Julian Elischer <julian@elischer.org>, Matthew Dillon <dillon@apollo.backplane.com>, Chuck Paterson <cp@bsdi.com>, Terry Lambert <tlambert@primenet.com>, arch@FreeBSD.ORG
Subject:   Re: Preemptive kernel on older X86 hardware 
Message-ID:  <20000525183713.B28F31CE1@overcee.netplex.com.au>
In-Reply-To: Message from Warner Losh <imp@village.org>  of "Thu, 25 May 2000 12:22:58 MDT." <200005251822.MAA85688@harmony.village.org> 

next in thread | previous in thread | raw e-mail | index | archive | help
Warner Losh wrote:
> In message <392C901D.31DFF4F5@elischer.org> Julian Elischer writes:
> : One paper I read recently (can't remember which)
> : used the method of making all locks calls to very generic (slow)
> : code to start with, and as each lock is run, it replaces the
> : calling code with a call to the appropriate 'quick' call, 
> : depending on teh cpu type and whether there si more than one
> : of them.
> 
> Sounds like SunOS 4.x shared library code.  It did exactly this for
> all functions in the shared library.  Some weird early cache designs
> made this horribly expensive (I'm thinkiong of Solbourn's KAP
> processor here, which had some bad silicon bugs they never fixed). 

Digital Unix (Tru64) does this too according to their white papers.
Everything is compiled to use the generic lock calls. The generic routine
modifies the caller binary code to instead call the specific routines for
the cpu configuration or replaces the call with NOPs for uniprocessor
systems.

Cheers,
-Peter
--
Peter Wemm - peter@FreeBSD.org; peter@yahoo-inc.com; peter@netplex.com.au
"All of this is for nothing if we don't go to the stars" - JMS/B5



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




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