Current calculation of max_low_pfn is introduced in commit af84eab20891 ("[PATCH] uml: fix LVM crash"). It is intended to set max_low_pfn to the same value as max_pfn.
But I am not sure why the max_pfn is set to totalram_pages, which represents the number of usable pages in system instead of an absolute page frame number. (The change history stops there.) While we have already calculate it in setup_physmem(), so not necessary to do it again. Also this would help changing totalram_pages accounting, since we plan to move the accounting into __free_pages_core(). With this change, totalram_pages may not represent the total usable pages at this point, since some pages would be deferred initialized. Signed-off-by: Wei Yang <richard.weiy...@gmail.com> CC: Jeff Dike <jd...@linux.intel.com> Cc: Paolo 'Blaisorblade' Giarrusso <blaisorbl...@yahoo.it> Cc: Alasdair G Kergon <a...@redhat.com> CC: Andrew Morton <a...@linux-foundation.org> CC: Mike Rapoport (IBM) <r...@kernel.org> CC: David Hildenbrand <da...@redhat.com> --- v2: remove redundant assignment of max_low_pfn --- arch/um/kernel/mem.c | 1 - 1 file changed, 1 deletion(-) diff --git a/arch/um/kernel/mem.c b/arch/um/kernel/mem.c index ca91accd64fc..a5b4fe2ad931 100644 --- a/arch/um/kernel/mem.c +++ b/arch/um/kernel/mem.c @@ -73,7 +73,6 @@ void __init mem_init(void) /* this will put all low memory onto the freelists */ memblock_free_all(); - max_low_pfn = totalram_pages(); max_pfn = max_low_pfn; kmalloc_ok = 1; } -- 2.34.1