mm: move array mem_section init code out of memory_present()
authorBaoquan He <bhe@redhat.com>
Tue, 26 Mar 2024 06:11:27 +0000 (14:11 +0800)
committerAndrew Morton <akpm@linux-foundation.org>
Fri, 26 Apr 2024 03:56:16 +0000 (20:56 -0700)
commit850ed20539a4cb4188ad664259f4c53206991d86
tree79adb6d49fa3f66fe6d4a4bc131d8216f881e389
parente6100a4590bfc0a91c8e882f73538c9c0d987a46
mm: move array mem_section init code out of memory_present()

Patch series "mm/init: minor clean up and improvement".

These are all observed when going through code flow during mm init.

This patch (of 7):

When CONFIG_SPARSEMEM_EXTREME is enabled, mem_section need be initialized
to point at a two-dimensional array, and its 1st dimension of length
NR_SECTION_ROOTS will be dynamically allocated.  Once the allocation is
done, it's available for all nodes.

So take the 1st dimension of mem_section initialization out of
memory_present()(), and put it into memblocks_present() which is a more
appripriate place.

Link: https://lkml.kernel.org/r/20240326061134.1055295-1-bhe@redhat.com
Link: https://lkml.kernel.org/r/20240326061134.1055295-2-bhe@redhat.com
Signed-off-by: Baoquan He <bhe@redhat.com>
Cc: Mel Gorman <mgorman@suse.de>
Cc: "Mike Rapoport (IBM)" <rppt@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/sparse.c