[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20190716165641.6990-1-pasha.tatashin@soleen.com>
Date: Tue, 16 Jul 2019 12:56:37 -0400
From: Pavel Tatashin <pasha.tatashin@...een.com>
To: pasha.tatashin@...een.com, jmorris@...ei.org, sashal@...nel.org,
ebiederm@...ssion.com, kexec@...ts.infradead.org,
linux-kernel@...r.kernel.org, corbet@....net,
catalin.marinas@....com, will@...nel.org,
linux-doc@...r.kernel.org, linux-arm-kernel@...ts.infradead.org
Subject: [RFC v1 0/4] arm64: MMU enabled kexec kernel relocation
Added identity mapped page table, and keep MMU enabled while
kernel is being relocated from sparse pages to the final
destination during kexec.
More description about the problem I am trying to solve here, can be
found here:
https://lore.kernel.org/lkml/20190709182014.16052-1-pasha.tatashin@soleen.com/
This patch series works in terms, that I can kexec-reboot both in QEMU
and on a physical machine. However, I do not see performance improvement
during relocation. The performance is just as slow as before with disabled
caches.
Am I missing something? Perhaps, there is some flag that I should also
enable in page table? Please provide me with any suggestions.
Pavel Tatashin (4):
arm64, mm: identity mapped page table
arm64, kexec: interface preparation for mmu enabled kexec
arm64, kexec: add kexec's own identity page table
arm64: Keep MMU on while kernel is being relocated
arch/arm64/include/asm/ident_map.h | 26 ++++++
arch/arm64/include/asm/kexec.h | 5 +-
arch/arm64/kernel/cpu-reset.S | 8 --
arch/arm64/kernel/cpu-reset.h | 7 +-
arch/arm64/kernel/machine_kexec.c | 128 +++++++++++++++++++++-------
arch/arm64/kernel/relocate_kernel.S | 36 +++++---
arch/arm64/mm/Makefile | 1 +
arch/arm64/mm/ident_map.c | 99 +++++++++++++++++++++
8 files changed, 255 insertions(+), 55 deletions(-)
create mode 100644 arch/arm64/include/asm/ident_map.h
create mode 100644 arch/arm64/mm/ident_map.c
--
2.22.0
Powered by blists - more mailing lists