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@xxxxxxxxxx/ 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 _______________________________________________ kexec mailing list kexec@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/kexec