[PATCH 2/2] arm64: allow hotpluggable sections to be offlined

Sudarshan Rajagopalan sudaraja at codeaurora.org
Fri Oct 16 22:02:24 EDT 2020


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.

Signed-off-by: Sudarshan Rajagopalan <sudaraja at codeaurora.org>
Cc: Catalin Marinas <catalin.marinas at arm.com>
Cc: Will Deacon <will at kernel.org>
Cc: Anshuman Khandual <anshuman.khandual at arm.com>
Cc: Mark Rutland <mark.rutland at arm.com>
Cc: Gavin Shan <gshan at redhat.com>
Cc: Logan Gunthorpe <logang at deltatee.com>
Cc: David Hildenbrand <david at redhat.com>
Cc: Andrew Morton <akpm at linux-foundation.org>
Cc: Steven Price <steven.price at arm.com>
Cc: Suren Baghdasaryan <surenb at 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




More information about the linux-arm-kernel mailing list