On Fri, 2008-08-15 at 10:16 -0700, C Michael Sundius wrote: > Ah, your right. thanks. "but it's not necessar*il*y a good idea". > That > is to say, we don't put > memory above 2 GiB. No need to make the mem_section[] array bigger > than > need be. > > This gives further credence for it to be a configurable in Kconfig as > well. I definitely don't want it to be something that users see. It is never enough overhead to really care. On a 16TB system with 16MB sections, the mem_section[] array is still only 16MB!! So, I'd say to just make it as big as the arch needs in the worst case (smallest SECTION_SIZE_BITS and largest MAX_PHYSMEM_BITS) and leave it. We might even want to merge the 32 and 64-bit versions. For your 32-bit version, we now use: 8 bytes (2 32-bit words) for each mem_section[] 2GB/128MB sections = 16 So, that's only 512 bytes. For the 64-bit version, we now use: 16 bytes (2 64-bit words) for each mem_section[] 32GB/256MB sections = 128 So, that's only 2048 bytes. If we were to merge the 32 and 64-bit versions to: #define SECTION_SIZE_BITS 27 #define MAX_PHYSMEM_BITS 35 Your 32-bit version would go to 2048 bytes, and the 64-bit version would go to 4096 bytes. The 32-bit version would we able to address more memory, and the 64-bit version would be able to handle smaller memory holes more efficiently. -- Dave