Date: Thu, 6 May 1999 17:56:55 -0700 (PDT) From: Matthew Dillon <dillon@apollo.backplane.com> To: Zach Brown <zab@zabbo.net> Cc: Andrew Reilly <andrew@lake.com.au>, freebsd-hackers@FreeBSD.ORG Subject: Re: Pentium-III and FreeBSD? Message-ID: <199905070056.RAA39946@apollo.backplane.com> References: <Pine.LNX.4.10.9905060942060.1635-100000@hoser>
next in thread | previous in thread | raw e-mail | index | archive | help
:On Wed, 21 Apr 1999, Andrew Reilly wrote:
:
:> a) tweaking as to understand the new (KNI SIMD float) instructions.
:> b) tweaking cc (egcs) to emit those, if it can (much less likely, my guess)
:> c) tweaking the kernel to save and restore the new state on task switches.
:
:its also quite worth using the magical cache instructions (prefecth, cache
:avoiding stores) in some parts of the kernel. We're having fun with these
:in parts of the linux kernel. Mail me if you want to discuss things
:further :)
:
:-- zach
:
:- - - - - -
:007 373 5963
The SMP guys have been playing with the tlb instructions to reduce the
number of tlb flushes and interprocess interrupts. This has produced
a measureable performance improvement. I don't see much advantage to
trying to fine-tune some of the weirder instructions, though... it's
usually a waste of time and tends to obscure the larger issues that,
if fixed, would have yielded an even greater gain. A good example of
this in FreeBSD is the page coloring code in the VM system, the
multiply-linked lists and hash table access methods used to manage I/O,
and (major bias here) radix tree based swap management system in
FreeBSD-current.
In regards to FP: The best place for extreme FP optimization is in
a high level FP library, not in native compiler-produced code. The
reason for this is simple: Many of these new instructions work only
with specific processors or specific revs of processors. Most of Intel's
new FP instructions don't work on a K6. If you produce a native-compiled
binary with such instructions embedded within it, it will not run on all
platforms. On the otherhand, if you produce a high level FP library which
can be taylored to the specific platform it is installed on, then
distributed binaries can utilize the library and not have to be compiled
for a specific platform.
-Matt
Matthew Dillon
<dillon@backplane.com>
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199905070056.RAA39946>
