The attached patch, largely written by Andy Whitcroft, implements a feature which is similar to DISCONTIGMEM, but has some added features. Instead of splitting up the mem_map for each NUMA node, this splits it up into areas that represent fixed blocks of memory. This allows individual pieces of that memory to be easily added and removed. Because it is so similar to DISCONTIGMEM, it can actually be used in place of it on NUMA systems such as the NUMAQ, or Summit architectures. This patch includes an i386 and ppc64 implementation, but there are x86_64 and ia64 implementations as well. There are a number of individual patches (with descriptions) which are rolled up in the attached patch: all of the files up to and including "G2-no-memory-at-high_memory-ppc64.patch" from this directory: http://www.sr71.net/patches/2.6.11/2.6.11-rc3-mhp1/broken-out/ I can post individual patches if anyone would like to comment on them. -- Dave