s390/mm: avoid trimming to MAX_ORDER
authorHeiko Carstens <hca@linux.ibm.com>
Tue, 14 Jul 2020 05:46:40 +0000 (07:46 +0200)
committerHeiko Carstens <hca@linux.ibm.com>
Mon, 20 Jul 2020 08:55:32 +0000 (10:55 +0200)
Trimming to MAX_ORDER was originally done in order to avoid to set
HOLES_IN_ZONE, which in turn would enable a quite expensive
pfn_valid() check. pfn_valid() however only checks if a struct page
exists for a given pfn.

With sparsemen vmemmap there are always struct pages, since memmaps
are allocated for whole sections. Therefore remove the HOLES_IN_ZONE
comment and the trimming.

Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
arch/s390/kernel/setup.c

index 5853c98..295a02b 100644 (file)
@@ -1126,14 +1126,6 @@ void __init setup_arch(char **cmdline_p)
        free_mem_detect_info();
        remove_oldmem();
 
-       /*
-        * Make sure all chunks are MAX_ORDER aligned so we don't need the
-        * extra checks that HOLES_IN_ZONE would require.
-        *
-        * Is this still required?
-        */
-       memblock_trim_memory(1UL << (MAX_ORDER - 1 + PAGE_SHIFT));
-
        if (is_prot_virt_host())
                setup_uv();
        setup_memory_end();