> Signed-off-by: Jia He <jia.he@xxxxxxxxxxxxxxxx> > --- > mm/memblock.c | 37 +++++++++++++++++++++++++++++-------- > 1 file changed, 29 insertions(+), 8 deletions(-) > > diff --git a/mm/memblock.c b/mm/memblock.c > index ccad225..84f7fa7 100644 > --- a/mm/memblock.c > +++ b/mm/memblock.c > @@ -1140,31 +1140,52 @@ int __init_memblock memblock_set_node(phys_addr_t base, phys_addr_t size, > #endif /* CONFIG_HAVE_MEMBLOCK_NODE_MAP */ > > #ifdef CONFIG_HAVE_MEMBLOCK_PFN_VALID > +static int early_region_idx __init_memblock = -1; One comment: This should be __initdata, but even better bring it inside the function as local static variable. > ulong __init_memblock memblock_next_valid_pfn(ulong pfn) > { Otherwise looks good: Reviewed-by: Pavel Tatashin <pavel.tatashin@xxxxxxxxxxxxx>