At 11/26/2012 11:48 PM, H. Peter Anvin Wrote: > On 11/26/2012 05:15 AM, Tang Chen wrote: >> >> Hi Wu, >> >> That is really a problem. And, before numa memory got initialized, >> memblock subsystem would be used to allocate memory. I didn't find any >> approach that could fully address it when I making the patches. There >> always be risk that memblock allocates memory on ZONE_MOVABLE. I think >> we can only do our best to prevent it from happening. >> >> Your patch is very helpful. And after a shot look at the code, it seems >> that acpi_numa_memory_affinity_init() is an architecture dependent >> function. Could we do this somewhere which is not depending on the >> architecture ? >> > > The movable memory should be classified as a non-RAM type in memblock, > that way we will not allocate from it early on. Hi, hpa The problem is that: node1 address rang: [18G, 34G), and the user specifies movable map is [8G, 24G). We don't know node1's address range before numa init. So we can't prevent allocating boot memory in the range [24G, 34G). The movable memory should be classified as a non-RAM type in memblock. What do you want to say? We don't save type in memblock because we only add E820_RAM and E820_RESERVED_KERN to memblock. Thanks Wen Congyang > > -hpa > > -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>