After weeks of remote debugging I found one problem triggered by people with the real highmem64 hardware and that really needs that much memory mapped from lots of tasks at the same time. They were running out of pagetables, mapping 1G per-task (shm for example) will overflow the lowmem zone with PAE with some houndred tasks in the system. They were pointing the finger at the VM but the VM was just doing the very right thing to do. This patch in short will move pagetables into highmem, obviously it breaks all the archs out there. This should fix the problem completly allowing linux to effectively support all the 64G possibly available in the ia32 boxes (currently, without this patch, you risk to be able to use only a few gigabytes). -aa kernels as well obviously will support this feature from the very next release and this patch is against 2.4.18pre2aa2, I recommend people to test it on top of 2.4.18pre2aa2 and tell me if it works well or not. If you don't have highmem you still can test it by configuring the kernel with highmem emulation enabled. ftp://ftp.us.kernel.org/pub/linux/kernel/people/andrea/patches/v2.4/2.4.18pre2aa2/pte-highmem-5 This will have to be forward ported to 2.5 as well of course. I developed it on top of 2.4 because I must support this in 2.4-aa too because HIGHMEM64G is basically useless for the most important people without this additional change. I'm too lazy to describe how it works with words, you've the source, it seems not too dirty (it may still need some cleanup, suggestions as welcome of course), and if you have questions I'll be glad to answer as usual. patch is as well attached because it's not too big and I know some people is annoyed by ftp downloads (mee too sometime :). thanks, Andrea