On 23 Mar 2006 03:43:06 +0100 Andi Kleen <[EMAIL PROTECTED]> wrote: > > For example, our server (ia64/Fujitsu PrimeQuest) can equip memory from > > 4G to 1T(maybe 2T in future), and SRAT will *always* say we have possible > > 1T memory. > > (Microsoft requires "write all possible memory in SRAT") > > When we reserve memmap for possible 1T memory, Linux will not work well in > > minimum 4G > > Don't do that. > The x86-64 kernel will preallocate memmaps when everything is enabled soon. > Ok that won't concern your IA64 machine immediately. >
Okay... I took several cups of coffee and understood what you say.and what x86_64 does. If X86_64=y and CONFIG_MEMORY_HOTPLUG=n, system works like this.. 1. preallocate all memmap, for memory range in SRAT. initialize all. just don't free pages (page struct) at boot time. 2. pre-initialize all pgdat/zone. even if ther are empty.(but have huge amount of reserved pages(memmap)) 3. When add_memory() is called, just call free_page(page) and make pages populated. 4. 5. Only problem is firmware configurated as "small memory + huge SRAT entry". Correct ? Note: "enabled" in SRAT just means "you can read this entry". not means "memory is present". --Kame - To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
