1 |
Hi All, |
2 |
|
3 |
If you have an Athlon system, be sure this email in its entirety. A |
4 |
potential CPU bug fix workaround is covered at the bottom. |
5 |
|
6 |
I've spent the last few days working on a new kernel for Gentoo Linux. |
7 |
This kernel is *excellent* (it's basically the -mjc kernel plus XFS) and |
8 |
contains tons of security-related enhancements, including: |
9 |
|
10 |
XFS (from 16 Jan 01 CVS) |
11 |
Preemptible Kernel Patch (2.4.18-pre3) (Robert M. Love) |
12 |
Waitqueue Patch (William Lee Irwin III) |
13 |
Parallel Scanning Patch (William Lee Irwin III) |
14 |
Reverse Mapping Patch #11b (Rik van Riel) |
15 |
IEEE-1394 fixes (Andrew Morton) |
16 |
Mini Low Latency Patch (Andrew Morton) |
17 |
Loopback Deadlock Fixes (Andrew Morton) |
18 |
Read Latency Fixes (Andrew Morton) |
19 |
Truncate Garbage Fixes (Andrew Morton) |
20 |
kGDB (kgdb team) |
21 |
Zerocopy Pipes (Manfred Spraul) |
22 |
Pollselect Fixes (Manfred Spraul) |
23 |
Jiffies wraparound fix (Tim Schmielau) |
24 |
RivaFB Software blanking (?) |
25 |
O(1) Scheduler (Ingo Molnar) |
26 |
-O(1) 'sleep history' comment readability (me) |
27 |
TUX linux kernel webserver (Ingo Molnar et al) |
28 |
|
29 |
You can read more about the filesystem read latency fixes at: |
30 |
http://www.uwsg.iu.edu/hypermail/linux/kernel/0201.0/1654.html |
31 |
|
32 |
The low-down is that it improves disk IO performance up to 30x (yes, |
33 |
that's *30 times* in certain situations (generally combined read/write |
34 |
activity). And that's just one patch. |
35 |
|
36 |
This kernel is on Portage now at sys-kernel/linux-sources-2.4.18_pre3. |
37 |
If you see a _pre4, don't use it. It will work but it missing nearly |
38 |
all of these performance enhancing patches, so _pre3 is best. |
39 |
|
40 |
When testing this kernel, I experienced a problem with my |
41 |
hardware-accelerated NVIDIA drivers where my system would lock up |
42 |
whenever I started a *multithreaded* OpenGL application. I was able to |
43 |
work around this problem by typing 'export __GL_SINGLE_THREADED="yes"' |
44 |
before starting the program from the shell. However, I of course wanted |
45 |
to be able to use NVIDIA's OpenGL implementation in all its |
46 |
multithreaded glory. Fortunately, I was able to reach Terrence Ripperda |
47 |
from the NVIDIA Linux driver team. He didn't have a solution but did |
48 |
mention that there quite a few Athlon CPUs have a particular bug where |
49 |
the Athlon will corrupt memory if it is using 4Mb page tables with AGP. |
50 |
He said that you could tell the kernel to *not* use 4Mb page tables by |
51 |
passing the 'mem=nopentium' option to the kernel at boot-time, ie via |
52 |
GRUB. I tried this and my problems completely disappeared. I |
53 |
immediately contacted some kernel developers, and now Alan Cox and |
54 |
Terrence are going to try to track down this particular bug and add |
55 |
support for autodetecting it to the Linux kernel. |
56 |
|
57 |
Microsoft seems to have discovered this bug, too. See: |
58 |
http://support.microsoft.com/default.aspx?scid=kb;en-us;Q270715 |
59 |
Their fix involves changing the default page table size (preventing a |
60 |
big page table) by tweaking the registry. |
61 |
|
62 |
So, if you are having stability problems (lock-ups, etc) on an Athlon |
63 |
system, particularly with 2.4.18_pre3 which seems to make this bug more |
64 |
prominent, try using the 'mem=nopentium' option which tells the kernel |
65 |
to effectively work around this CPU bug. My system is now rock solid |
66 |
and thanks to the new kernel is also running incredibly fast. |
67 |
|
68 |
Best Regards, |
69 |
|
70 |
-- |
71 |
Daniel Robbins <drobbins@g.o> |
72 |
Chief Architect/President http://www.gentoo.org |
73 |
Gentoo Technologies, Inc. |