[v4,0/2] arm64: kdump: Function supplement and performance optimization

Message ID 20221116121044.1690-1-thunder.leizhen@huawei.com
Headers
Series arm64: kdump: Function supplement and performance optimization |

Message

Zhen Lei Nov. 16, 2022, 12:10 p.m. UTC
  v3 --> v4:
1. Set DEFAULT_CRASH_KERNEL_LOW_SIZE to a fixed 128M.
2. Some lightweight code adjustments based on Catalin Marinas's comments

v2 --> v3:
1. Discard patch 3 in v2, a cleanup patch.

v1 --> v2:
1. Update the commit message of Patch 1, explicitly indicates that "crashkernel=X,high"
   is specified but "crashkernel=Y,low" is not specified.
2. Drop Patch 4-5. Currently, focus on function integrity, performance optimization
   will be considered in later versions.
3. Patch 3 is not mandatory, it's just a cleanup now, although it is a must for patch 4-5.
   But to avoid subsequent duplication of effort, I'm glad it was accepted.

v1:
After the basic functions of "support reserving crashkernel above 4G on arm64
kdump"(see https://lkml.org/lkml/2022/5/6/428) are implemented, we still have
three features to be improved.
1. When crashkernel=X,high is specified but crashkernel=Y,low is not specified,
   the default crash low memory size is provided.
2. For crashkernel=X without '@offset', if the low memory fails to be allocated,
   fall back to reserve region from high memory(above DMA zones).
3. If crashkernel=X,high is used, page mapping is performed only for the crash
   high memory, and block mapping is still used for other linear address spaces.
   Compared to the previous version:
   (1) For crashkernel=X[@offset], the memory above 4G is not changed to block
       mapping, leave it to the next time.
   (2) The implementation method is modified. Now the implementation is simpler
       and clearer.

Zhen Lei (2):
  arm64: kdump: Provide default size when crashkernel=Y,low is not
    specified
  arm64: kdump: Support crashkernel=X fall back to reserve region above
    DMA zones

 .../admin-guide/kernel-parameters.txt         | 15 +++++------
 arch/arm64/mm/init.c                          | 25 ++++++++++++++++---
 2 files changed, 28 insertions(+), 12 deletions(-)
  

Comments

Will Deacon Nov. 18, 2022, 7:40 p.m. UTC | #1
On Wed, 16 Nov 2022 20:10:42 +0800, Zhen Lei wrote:
> v3 --> v4:
> 1. Set DEFAULT_CRASH_KERNEL_LOW_SIZE to a fixed 128M.
> 2. Some lightweight code adjustments based on Catalin Marinas's comments
> 
> v2 --> v3:
> 1. Discard patch 3 in v2, a cleanup patch.
> 
> [...]

Applied to arm64 (for-next/kdump), thanks!

[1/2] arm64: kdump: Provide default size when crashkernel=Y,low is not specified
      https://git.kernel.org/arm64/c/a149cf00b158
[2/2] arm64: kdump: Support crashkernel=X fall back to reserve region above DMA zones
      https://git.kernel.org/arm64/c/a9ae89df7377

Cheers,