DragonFly kernel List (threaded) for 2004-04
Re: (2) Hold up a bit updating your source trees...
: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
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!