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>