> Am 17.10.2020 um 04:03 schrieb Sudarshan Rajagopalan 
> <sudar...@codeaurora.org>:
> 
> On receiving the MEM_GOING_OFFLINE notification, we disallow offlining of
> any boot memory by checking if section_early or not. With the introduction
> of SECTION_MARK_HOTPLUGGABLE, allow boot mem sections that are marked as
> hotpluggable with this bit set to be offlined and removed. This now allows
> certain boot mem sections to be offlined.
> 

The check (notifier) is in arm64 code. I don‘t see why you cannot make such 
decisions completely in arm64 code? Why would you have to mark sections?

Also, I think I am missing from *where* the code that marks sections removable 
is even called? Who makes such decisions?

This feels wrong. 

> Signed-off-by: Sudarshan Rajagopalan <sudar...@codeaurora.org>
> Cc: Catalin Marinas <catalin.mari...@arm.com>
> Cc: Will Deacon <w...@kernel.org>
> Cc: Anshuman Khandual <anshuman.khand...@arm.com>
> Cc: Mark Rutland <mark.rutl...@arm.com>
> Cc: Gavin Shan <gs...@redhat.com>
> Cc: Logan Gunthorpe <log...@deltatee.com>
> Cc: David Hildenbrand <da...@redhat.com>
> Cc: Andrew Morton <a...@linux-foundation.org>
> Cc: Steven Price <steven.pr...@arm.com>
> Cc: Suren Baghdasaryan <sur...@google.com>
> ---
> arch/arm64/mm/mmu.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/arm64/mm/mmu.c b/arch/arm64/mm/mmu.c
> index 75df62fea1b6..fb8878698672 100644
> --- a/arch/arm64/mm/mmu.c
> +++ b/arch/arm64/mm/mmu.c
> @@ -1487,7 +1487,7 @@ static int prevent_bootmem_remove_notifier(struct 
> notifier_block *nb,
> 
>    for (; pfn < end_pfn; pfn += PAGES_PER_SECTION) {
>        ms = __pfn_to_section(pfn);
> -        if (early_section(ms))
> +        if (early_section(ms) && !removable_section(ms))
>            return NOTIFY_BAD;
>    }
>    return NOTIFY_OK;
> -- 
> Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
> a Linux Foundation Collaborative Project
> 

Reply via email to