On Fri, 2013-10-04 at 10:00 +0800, Zhang Yanfei wrote: > From: Tang Chen <tangchen@xxxxxxxxxxxxxx> > > The Linux kernel cannot migrate pages used by the kernel. As a > result, kernel pages cannot be hot-removed. So we cannot allocate > hotpluggable memory for the kernel. > > In a memory hotplug system, any numa node the kernel resides in > should be unhotpluggable. And for a modern server, each node could > have at least 16GB memory. So memory around the kernel image is > highly likely unhotpluggable. > > ACPI SRAT (System Resource Affinity Table) contains the memory > hotplug info. But before SRAT is parsed, memblock has already > started to allocate memory for the kernel. So we need to prevent > memblock from doing this. > > So direct memory mapping page tables setup is the case. init_mem_mapping() > is called before SRAT is parsed. To prevent page tables being allocated > within hotpluggable memory, we will use bottom-up direction to allocate > page tables from the end of kernel image to the higher memory. > > Acked-by: Tejun Heo <tj@xxxxxxxxxx> > Signed-off-by: Tang Chen <tangchen@xxxxxxxxxxxxxx> > Signed-off-by: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx> Acked-by: Toshi Kani <toshi.kani@xxxxxx> Thanks, -Toshi -- 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>