[<prev] [next>] [day] [month] [year] [list]
Message-Id: <20181214111014.15672-8-david@redhat.com>
Date: Fri, 14 Dec 2018 12:10:12 +0100
From: David Hildenbrand <david@...hat.com>
To: linux-mm@...ck.org
Cc: linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
linux-m68k@...ts.linux-m68k.org, linuxppc-dev@...ts.ozlabs.org,
linux-riscv@...ts.infradead.org, linux-s390@...r.kernel.org,
linux-mediatek@...ts.infradead.org,
David Hildenbrand <david@...hat.com>,
Catalin Marinas <catalin.marinas@....com>,
Will Deacon <will.deacon@....com>,
James Morse <james.morse@....com>,
Bhupesh Sharma <bhsharma@...hat.com>,
Mark Rutland <mark.rutland@....com>,
Dave Kleikamp <dave.kleikamp@...cle.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Mike Rapoport <rppt@...ux.vnet.ibm.com>,
Michal Hocko <mhocko@...e.com>,
Florian Fainelli <f.fainelli@...il.com>,
Stefan Agner <stefan@...er.ch>,
Laura Abbott <labbott@...hat.com>,
Greg Hackmann <ghackmann@...roid.com>,
Johannes Weiner <hannes@...xchg.org>,
Kristina Martsenko <kristina.martsenko@....com>,
CHANDAN VN <chandan.vn@...sung.com>,
AKASHI Takahiro <takahiro.akashi@...aro.org>,
Logan Gunthorpe <logang@...tatee.com>
Subject: [PATCH v1 7/9] arm64: kdump: No need to mark crashkernel pages manually PG_reserved
The crashkernel is reserved via memblock_reserve(). memblock_free_all()
will call free_low_memory_core_early(), which will go over all reserved
memblocks, marking the pages as PG_reserved.
So manually marking pages as PG_reserved is not necessary, they are
already in the desired state (otherwise they would have been handed over
to the buddy as free pages and bad things would happen).
Cc: Catalin Marinas <catalin.marinas@....com>
Cc: Will Deacon <will.deacon@....com>
Cc: James Morse <james.morse@....com>
Cc: Bhupesh Sharma <bhsharma@...hat.com>
Cc: David Hildenbrand <david@...hat.com>
Cc: Mark Rutland <mark.rutland@....com>
Cc: Dave Kleikamp <dave.kleikamp@...cle.com>
Cc: Andrew Morton <akpm@...ux-foundation.org>
Cc: Mike Rapoport <rppt@...ux.vnet.ibm.com>
Cc: Michal Hocko <mhocko@...e.com>
Cc: Florian Fainelli <f.fainelli@...il.com>
Cc: Stefan Agner <stefan@...er.ch>
Cc: Laura Abbott <labbott@...hat.com>
Cc: Greg Hackmann <ghackmann@...roid.com>
Cc: Johannes Weiner <hannes@...xchg.org>
Cc: Kristina Martsenko <kristina.martsenko@....com>
Cc: CHANDAN VN <chandan.vn@...sung.com>
Cc: AKASHI Takahiro <takahiro.akashi@...aro.org>
Cc: Logan Gunthorpe <logang@...tatee.com>
Signed-off-by: David Hildenbrand <david@...hat.com>
---
arch/arm64/kernel/machine_kexec.c | 2 +-
arch/arm64/mm/init.c | 27 ---------------------------
2 files changed, 1 insertion(+), 28 deletions(-)
diff --git a/arch/arm64/kernel/machine_kexec.c b/arch/arm64/kernel/machine_kexec.c
index 6f0587b5e941..66b5d697d943 100644
--- a/arch/arm64/kernel/machine_kexec.c
+++ b/arch/arm64/kernel/machine_kexec.c
@@ -321,7 +321,7 @@ void crash_post_resume(void)
* but does not hold any data of loaded kernel image.
*
* Note that all the pages in crash dump kernel memory have been initially
- * marked as Reserved in kexec_reserve_crashkres_pages().
+ * marked as Reserved as memory was allocated via memblock_reserve().
*
* In hibernation, the pages which are Reserved and yet "nosave" are excluded
* from the hibernation iamge. crash_is_nosave() does thich check for crash
diff --git a/arch/arm64/mm/init.c b/arch/arm64/mm/init.c
index a8f2e4792ef9..9dcfa809b7ab 100644
--- a/arch/arm64/mm/init.c
+++ b/arch/arm64/mm/init.c
@@ -118,35 +118,10 @@ static void __init reserve_crashkernel(void)
crashk_res.start = crash_base;
crashk_res.end = crash_base + crash_size - 1;
}
-
-static void __init kexec_reserve_crashkres_pages(void)
-{
-#ifdef CONFIG_HIBERNATION
- phys_addr_t addr;
- struct page *page;
-
- if (!crashk_res.end)
- return;
-
- /*
- * To reduce the size of hibernation image, all the pages are
- * marked as Reserved initially.
- */
- for (addr = crashk_res.start; addr < (crashk_res.end + 1);
- addr += PAGE_SIZE) {
- page = phys_to_page(addr);
- SetPageReserved(page);
- }
-#endif
-}
#else
static void __init reserve_crashkernel(void)
{
}
-
-static void __init kexec_reserve_crashkres_pages(void)
-{
-}
#endif /* CONFIG_KEXEC_CORE */
#ifdef CONFIG_CRASH_DUMP
@@ -586,8 +561,6 @@ void __init mem_init(void)
/* this will put all unused low memory onto the freelists */
memblock_free_all();
- kexec_reserve_crashkres_pages();
-
mem_init_print_info(NULL);
/*
--
2.17.2
Powered by blists - more mailing lists