Re: [PATCH v16 00/15] arm64: MMU enabled kexec relocation

From: Catalin Marinas
Date: Tue Aug 24 2021 - 14:06:05 EST

Hi Pavel,

This series is still missing reviews from those who understand kexec
better than me.

On Mon, Aug 02, 2021 at 05:53:53PM -0400, Pavel Tatashin wrote:
> Enable MMU during kexec relocation in order to improve reboot performance.
> If kexec functionality is used for a fast system update, with a minimal
> downtime, the relocation of kernel + initramfs takes a significant portion
> of reboot.
> The reason for slow relocation is because it is done without MMU, and thus
> not benefiting from D-Cache.

The performance improvements are indeed significant on some platforms
(going from 7s to ~40ms), so I think the merging the series is worth it.
Some general questions so I better understand the impact:

- Is the kdump path affected in any way? IIUC that doesn't need any
relocation but we should also make sure we don't create the additional
page table unnecessarily (should keep as much memory intact as
possible). Maybe that's already handled.

- What happens if trans_pgd_create_copy() fails to allocate memory. Does
it fall back to an MMU-off relocation?

And I presume this series does not introduce any changes to the kexec
tools ABI.