> Am 17.10.2020 um 04:03 schrieb Sudarshan Rajagopalan > <[email protected]>: > > 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 <[email protected]> > Cc: Catalin Marinas <[email protected]> > Cc: Will Deacon <[email protected]> > Cc: Anshuman Khandual <[email protected]> > Cc: Mark Rutland <[email protected]> > Cc: Gavin Shan <[email protected]> > Cc: Logan Gunthorpe <[email protected]> > Cc: David Hildenbrand <[email protected]> > Cc: Andrew Morton <[email protected]> > Cc: Steven Price <[email protected]> > Cc: Suren Baghdasaryan <[email protected]> > --- > 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 >

