Subject: [merged] arm-mm-fix-the-memblock-allocation-for-lpae-machines.patch removed from -mm tree To: santosh.shilimkar@xxxxxx,grygorii.strashko@xxxxxx,linux@xxxxxxxxxxxxxxxx,yinghai@xxxxxxxxxx,mm-commits@xxxxxxxxxxxxxxx From: akpm@xxxxxxxxxxxxxxxxxxxx Date: Thu, 13 Feb 2014 13:00:06 -0800 The patch titled Subject: ARM: mm: fix the memblock allocation for LPAE machines has been removed from the -mm tree. Its filename was arm-mm-fix-the-memblock-allocation-for-lpae-machines.patch This patch was dropped because it was merged into mainline or a subsystem tree ------------------------------------------------------ From: Santosh Shilimkar <santosh.shilimkar@xxxxxx> Subject: ARM: mm: fix the memblock allocation for LPAE machines Commit ad6492b8 added much needed memblock_virt_alloc_low() and further commit 07bacb3 {memblock, bootmem: restore goal for alloc_low} fixed the issue with low memory limit thansk to Yinghai. But even after all these fixes, there is still one case where the limit check done with ARCH_LOW_ADDRESS_LIMIT for low memory fails. Russell pointed out the issue with 32 bit LPAE machines in https://lkml.org/lkml/2014/1/28/364 Since on some LPAE machines where memory start address is beyond 4GB, the low memory marker in memblock will be set to default ARCH_LOW_ADDRESS_LIMIT which is wrong. We can fix this by letting architectures set the ARCH_LOW_ADDRESS_LIMIT using another export similar to memblock_set_current_limit() but am not sure whether its worth the trouble. Tell me if you think otherwise. Rather am just trying to fix that one broken case using memblock_virt_alloc() in setup code since the memblock.current_limit is updated appropriately makes it work on all ARM 32 bit machines. Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> Cc: Yinghai Lu <yinghai@xxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Strashko, Grygorii <grygorii.strashko@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- arch/arm/kernel/setup.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff -puN arch/arm/kernel/setup.c~arm-mm-fix-the-memblock-allocation-for-lpae-machines arch/arm/kernel/setup.c --- a/arch/arm/kernel/setup.c~arm-mm-fix-the-memblock-allocation-for-lpae-machines +++ a/arch/arm/kernel/setup.c @@ -731,7 +731,7 @@ static void __init request_standard_reso kernel_data.end = virt_to_phys(_end - 1); for_each_memblock(memory, region) { - res = memblock_virt_alloc_low(sizeof(*res), 0); + res = memblock_virt_alloc(sizeof(*res), 0); res->name = "System RAM"; res->start = __pfn_to_phys(memblock_region_memory_base_pfn(region)); res->end = __pfn_to_phys(memblock_region_memory_end_pfn(region)) - 1; _ Patches currently in -mm which might be from santosh.shilimkar@xxxxxx are linux-next.patch -- To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html