Skip site navigation (1)Skip section navigation (2)
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>