From: David Hildenbrand <david@redhat.com>
To: linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-m68k@lists.linux-m68k.org, linuxppc-dev@lists.ozlabs.org,
linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org,
linux-mediatek@lists.infradead.org,
David Hildenbrand <david@redhat.com>,
Catalin Marinas <catalin.marinas@arm.com>,
Will Deacon <will.deacon@arm.com>,
James Morse <james.morse@arm.com>,
Bhupesh Sharma <bhsharma@redhat.com>,
Mark Rutland <mark.rutland@arm.com>,
Dave Kleikamp <dave.kleikamp@oracle.com>,
Andrew Morton <akpm@linux-foundation.org>,
Mike Rapoport <rppt@linux.vnet.ibm.com>,
Michal Hocko <mhocko@suse.com>,
Florian Fainelli <f.fainelli@gmail.com>,
Stefan Agner <stefan@agner.ch>, Laura Abbott <labbott@redhat.com>,
Greg Hackmann <ghackmann@android.com>,
Johannes Weiner <hannes@cmpxchg.org>,
Kristina Martsenko <kristina.martsenko@arm.com>,
CHANDAN VN <chandan.vn@samsung.com>,
AKASHI Takahiro <takahiro.akashi@linaro.org>,
Logan Gunthorpe <logang@deltatee.com>
Subject: [PATCH v1 7/9] arm64: kdump: No need to mark crashkernel pages manually PG_reserved
Date: Fri, 14 Dec 2018 12:10:12 +0100 [thread overview]
Message-ID: <20181214111014.15672-8-david@redhat.com> (raw)
In-Reply-To: <20181214111014.15672-1-david@redhat.com>
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@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: James Morse <james.morse@arm.com>
Cc: Bhupesh Sharma <bhsharma@redhat.com>
Cc: David Hildenbrand <david@redhat.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Dave Kleikamp <dave.kleikamp@oracle.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Mike Rapoport <rppt@linux.vnet.ibm.com>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Florian Fainelli <f.fainelli@gmail.com>
Cc: Stefan Agner <stefan@agner.ch>
Cc: Laura Abbott <labbott@redhat.com>
Cc: Greg Hackmann <ghackmann@android.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Kristina Martsenko <kristina.martsenko@arm.com>
Cc: CHANDAN VN <chandan.vn@samsung.com>
Cc: AKASHI Takahiro <takahiro.akashi@linaro.org>
Cc: Logan Gunthorpe <logang@deltatee.com>
Signed-off-by: David Hildenbrand <david@redhat.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
next prev parent reply other threads:[~2018-12-14 11:11 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20181214111014.15672-1-david@redhat.com>
2018-12-14 11:10 ` [PATCH v1 1/9] agp: efficeon: no need to set PG_reserved on GATT tables David Hildenbrand
2018-12-14 11:10 ` [PATCH v1 2/9] s390/vdso: don't clear PG_reserved David Hildenbrand
2018-12-14 11:10 ` [PATCH v1 3/9] powerpc/vdso: " David Hildenbrand
2018-12-17 11:38 ` Michael Ellerman
2018-12-14 11:10 ` [PATCH v1 4/9] riscv/vdso: " David Hildenbrand
2018-12-14 11:10 ` [PATCH v1 5/9] m68k/mm: use __ClearPageReserved() David Hildenbrand
2018-12-14 11:10 ` [PATCH v1 6/9] arm64: kexec: no need to ClearPageReserved() David Hildenbrand
2018-12-16 10:44 ` Matthias Brugger
2018-12-14 11:10 ` David Hildenbrand [this message]
2018-12-14 11:10 ` [PATCH v1 8/9] ia64: perfmon: Don't mark buffer pages as PG_reserved David Hildenbrand
2018-12-14 11:10 ` [PATCH v1 9/9] mm: better document PG_reserved David Hildenbrand
2018-12-15 0:12 ` Randy Dunlap
2018-12-17 9:34 ` David Hildenbrand
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20181214111014.15672-8-david@redhat.com \
--to=david@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=bhsharma@redhat.com \
--cc=catalin.marinas@arm.com \
--cc=chandan.vn@samsung.com \
--cc=dave.kleikamp@oracle.com \
--cc=f.fainelli@gmail.com \
--cc=ghackmann@android.com \
--cc=hannes@cmpxchg.org \
--cc=james.morse@arm.com \
--cc=kristina.martsenko@arm.com \
--cc=labbott@redhat.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-m68k@lists.linux-m68k.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=linux-mm@kvack.org \
--cc=linux-riscv@lists.infradead.org \
--cc=linux-s390@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=logang@deltatee.com \
--cc=mark.rutland@arm.com \
--cc=mhocko@suse.com \
--cc=rppt@linux.vnet.ibm.com \
--cc=stefan@agner.ch \
--cc=takahiro.akashi@linaro.org \
--cc=will.deacon@arm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).