PIII.patch is buggy

I Lee Hetherington (ilh@sls.lcs.mit.edu)
Thu, 10 Jun 1999 15:37:13 -0400


I have confirmed a problem with PIII.patch as posted by Doug Ledford a
day or so ago. On a dual PIII system, running 2.2.9 + PIII.patch
+ nfsv3, I sometimes see corruption of the XMM registers in a user
program. It seems to show up when the system has started to use swap
space.

I have CONFIG_X86_FX and CONFIG_X86_XMM turned on.

My user program initializes %xmm0..%xmm7 to contain floating point
values 0..31. Then, once each second it reads these registers and
prints them out. Here is what I am seeing:

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
27 28 29 30 31
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
27 28 29 30 31
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
27 28 29 30 31
7.58801e+31 4.67192e+07 2.6663e+35 2.88384e+23 4 5 6 7 8 9 10 11 12 13
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
7.58801e+31 4.67192e+07 2.6663e+35 2.88384e+23 4 5 6 7 8 9 10 11 12 13
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
27 28 29 30 31
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
27 28 29 30 31

As you can see, the first four have been clobbered, but later were fixed
(not by me). I did not see this behavior until swap was used.

I will turn off CONFIG_X86_XMM (which enables the XMM instructions in
kernel code) to see if the problem goes away.

--Lee Hetherington

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/