DragonFly BSD
DragonFly kernel List (threaded) for 2004-04
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: (2) Hold up a bit updating your source trees...


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>
Date: Fri, 30 Apr 2004 09:26:32 -0700 (PDT)

:Jonathon McKitrick wrote:
:
:> Just curious: what prompted the re-examining and re-architecting of this
:> low-level code?  Is it mostly for the 64-bit archs?  Or the non-Pentium
:> archs?  Or some other reason?  Is this stuff updated often in the other
:> BSDs?
:
:	Performance.
:
:		-Hiten
:		hmp@xxxxxxxxxxxxx

    Well, the original impetus was that I am seeing weird cache artifacts
    in the PIPE tests I am running and I thought I might be able to 
    mitigate them by using 64 and 128 bit instructions.

    I've only partially succeeded in that regard.  I still see cache 
    artifacts, but they are not as severe as before.

    What I didn't expect were the huge number of bugs I introduced when I
    rewrote the code.  Sorry about that folks!  It turns out that it only
    takes one mistake in the FP code (especially since it is in the middle
    of the kernel's bcopy()) to really blow the system up.  I actually lost
    the entire root partition on one of my test machines to corruption!
    Ouch!  I also found races in the original npx code.

    I still don't know if I've found all the bugs.  If I continue to have
    problems today I will disable the feature by default while I continue
    to track issues down.

    Curses on Intel for designing a stupid FP system that doesn't allow one
    to simply use (save/use/restore) the FP registers whenever one wishes!

					-Matt
					Matthew Dillon 
					<dillon@xxxxxxxxxxxxx>



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]