Thread (17 messages) 17 messages, 2 authors, 2021-10-01

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

flat view

From: Will Deacon <will@kernel.org>
Date: 2021-10-01 14:01:43
Also in: kexec, linux-mm, lkml

On Thu, 30 Sep 2021 14:30:58 +0000, Pasha Tatashin wrote:
Changelog:
v18:
	- Addressed comments from Will Deacon
	- Added Acks from Catalin Marinas
v17:
	- Merged with 5.15-rc1 as requested by Catalin Marinas
	- Added Tested-by: Pingfan Liu [off-list ref]
v16:
	- Merged with 5.14-rc4
v15:
	- Changed trans_pgd_copy_el2_vectors() to use vector table that
	  only shared by kexec and hibernate. This way sync does not have
	  dangling branch that was recently introduced. (Reported by Marc
	  Zyngier)
	- Renamed is_hyp_callable() to is_hyp_nvhe() as requested by Marc
	  Zyngier
	- Clean-ups, comment fixes.
	- Sync with upstream 368094df48e680fa51cedb68537408cfa64b788e
v14:
	- Fixed a bug in "arm64: hyp-stub: Move elx_sync into the vectors"
	  that was noticed by Marc Zyngier
	- Merged with upstream
v13:
	- Fixed a hang on ThunderX2, thank you Pingfan Liu for reporting
	  the problem. In relocation function we need civac not ivac, we
	  need to clean data in addition to invalidating it.
	  Since I was using ThunderX2 machine I also measured the new
	  performance data on this large ARM64 server. The MMU improves
	  kexec relocation 190 times on this machine! (see below for
	  raw data). Saves 7.5s during CentOS kexec reboot.
v12:
	- A major change compared to previous version. Instead of using
	  contiguous VA range a copy of linear map is now used to perform
	  copying of segments during relocation as it was agreed in the
	  discussion of version 11 of this project.
	- In addition to using linear map, I also took several ideas from
	  James Morse to better organize the kexec relocation:
	  	1. skip relocation function entirely if that is not needed
		2. remove the PoC flushing function since it is not needed
		   anymore with MMU enabled.
v11:
	- Fixed missing KEXEC_CORE dependency for trans_pgd.c
	- Removed useless "if(rc) return rc" statement (thank you Tyler Hicks)
	- Another 12 patches were accepted into maintainer's get.
	  Re-based patches against:
	  https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git
	  Branch: for-next/kexec
v10:
	- Addressed a lot of comments form James Morse and from  Marc Zyngier
	- Added review-by's
	- Synchronized with mainline

[...]
Applied to arm64 (for-next/kexec), thanks!

[01/15] arm64: kernel: add helper for booted at EL2 and not VHE
        https://git.kernel.org/arm64/c/094a3684b9b6
[02/15] arm64: trans_pgd: hibernate: Add trans_pgd_copy_el2_vectors
        https://git.kernel.org/arm64/c/788bfdd97434
[03/15] arm64: hibernate: abstract ttrb0 setup function
        https://git.kernel.org/arm64/c/a347f601452f
[04/15] arm64: kexec: flush image and lists during kexec load time
        https://git.kernel.org/arm64/c/0d8732e461d6
[05/15] arm64: kexec: skip relocation code for inplace kexec
        https://git.kernel.org/arm64/c/5bb6834fc290
[06/15] arm64: kexec: Use dcache ops macros instead of open-coding
        https://git.kernel.org/arm64/c/3036ec599332
[07/15] arm64: kexec: pass kimage as the only argument to relocation function
        https://git.kernel.org/arm64/c/878fdbd70486
[08/15] arm64: kexec: configure EL2 vectors for kexec
        https://git.kernel.org/arm64/c/08eae0ef618f
[09/15] arm64: kexec: relocate in EL1 mode
        https://git.kernel.org/arm64/c/ba959fe96a1b
[10/15] arm64: kexec: use ld script for relocation function
        https://git.kernel.org/arm64/c/19a046f07ce5
[11/15] arm64: kexec: install a copy of the linear-map
        https://git.kernel.org/arm64/c/3744b5280e67
[12/15] arm64: kexec: keep MMU enabled during kexec relocation
        https://git.kernel.org/arm64/c/efc2d0f20a9d
[13/15] arm64: kexec: remove the pre-kexec PoC maintenance
        https://git.kernel.org/arm64/c/939f1b9564c6
[14/15] arm64: kexec: remove cpu-reset.h
        https://git.kernel.org/arm64/c/7a2512fa6493
[15/15] arm64: trans_pgd: remove trans_pgd_map_page()
        https://git.kernel.org/arm64/c/6091dd9eaf8e

Cheers,
-- 
Will

https://fixes.arm64.dev
https://next.arm64.dev
https://will.arm64.dev

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help