2008/12/22 Larry Stotler
On Mon, Dec 22, 2008 at 1:03 AM, Mike McMullin
wrote:
As for why it is enabled by default on 32bit systems, from my understanding it is so that if your processor supports the NX bit, like 64bit cpus and the intel Core Solo and Core Duos, then it can be enabled. If you don't have these processors, or more than 4GB RAM, then there should be no reason why you can't run the default kernel.
However, I don't think that the PAE stuff takes up any space or cycles if you don't have the RAM or NX bit, so it shouldn't be a problem.
The PAE works but starts to melt down at over 8GiB according to one LKML thread in which Linus called it a big mistake ever accepting it into the kernel. The SuSE pae kernel, appears to have similar config to the old SMP kernel "bigsmp". There's a lot of options chosen, which apply to medium-big server systems and not a typical dual core, or dual CPU box, with <= 4GiB RAM for unusual server (some very old) boxen. That server also features over-sized data structures because the max CPUs is increased to 32, last year there were some articles on LWN, where a lot of per CPU structures were exploding the memory usage linearly with maxcpus. There's going to be overhead managing the larger memory addresses, and sometimes copying buffers into areas that 32bit PCI cards can read for DMA. The code complexity, must impact performance in the area of managing the VM page tables, it cannot be a 'Free Lunch' over simpler code. So actually on a machine with 4GiB, I actually for 10.3, switched to the default kernel, yes some memory was wasted but it was more compatible with some add ons needing kernel modules (Virtual Box IIRC), and the relatively small amount of memory lost was probably compensated by the smaller per CPU data structures. Given all that, since the default kernel, gained the clever hack to patch in/out SMP or uniprocessor support, I've preferred to use that. I wonder what's compelling to make -pae the default, I suspect it's more that it'll work on more systemsm, rather than maximise performance for the majority of systems. Those NX capable CPUs have 64bit extentions, why not run them in that mode, and make use of extra registers and lose some of compatability cruft of i386? -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org