Re: [PATCH v2 1/2] mm/memblock: expose only miminal interface to add/walk physmem

From: David Hildenbrand
Date: Wed Jul 01 2020 - 11:35:03 EST




> Am 01.07.2020 um 17:07 schrieb Mike Rapoport <rppt@xxxxxxxxxxxxx>:
>
> ïHi David,
>
>> On Wed, Jul 01, 2020 at 04:18:29PM +0200, David Hildenbrand wrote:
>> "physmem" in the memblock allocator is somewhat weird: it's not actually
>> used for allocation, it's simply information collected during boot, which
>> describes the unmodified physical memory map at boot time, without any
>> standby/hotplugged memory. It's only used on s390x and is currently the
>> only reason s390x keeps using CONFIG_ARCH_KEEP_MEMBLOCK.
>>
>> Physmem isn't numa aware and current users don't specify any flags. Let's
>> hide it from the user, exposing only for_each_physmem(), and simplify. The
>> interface for physmem is now really minimalistic:
>> - memblock_physmem_add() to add ranges
>> - for_each_physmem() / __next_physmem_range() to walk physmem ranges
>>
>> Don't place it into an __init section and don't discard it without
>> CONFIG_ARCH_KEEP_MEMBLOCK. As we're reusing __next_mem_range(), remove
>> the __meminit notifier to avoid section mismatch warnings once
>> CONFIG_ARCH_KEEP_MEMBLOCK is no longer used with
>> CONFIG_HAVE_MEMBLOCK_PHYS_MAP.
>>
>> While fixing up the documentation, sneak in some related cleanups. We can
>> stop setting CONFIG_HAVE_MEMBLOCK_PHYS_MAP for s390x next.
>
> As you noted in the previous version it should have been
> CONFIG_ARCH_KEEP_MEMBLOCK ;-)

Grml :) maybe maintainers can fix that up when applying in case there are no other comments.

Thanks Mike for the fast review!