Skip to content

V5 Implement crashkernel=auto

Amerigo Wang linux-ia64 lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest8 patches 10 repliesIn review

V4 -> V5 from the cover letter

- Rename the global functions, as suggested by Andrew.
- Save some macros, as suggested by Andrew.
- Change the high threshold, from 32G to 4G.
- Change the low threshold on ppc, suggested by ppc developers.
- Make the mm part as a seperate function, suggest by Eric.
- Make the IA64 code more readable.
- Reorder the patchset again, since review from mm people is done.

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/8x86: add CONFIG_KEXEC_AUTO_RESERVEarch/x86/Kconfig+13 -00 replies
2/8x86: implement crashkernel=autoarch/x86/include/asm/kexec.h include/asm-generic/kexec.h kernel/kexec.c+82 -00 replies
3/8ia64: add CONFIG_KEXEC_AUTO_RESERVEarch/ia64/Kconfig+14 -00 replies
4/8ia64: implement crashkernel=autoarch/ia64/include/asm/kexec.h+44 -05 replies
5/8powerpc: add CONFIG_KEXEC_AUTO_RESERVEarch/powerpc/Kconfig+11 -00 replies
6/8powerpc: implement crashkernel=autoarch/powerpc/include/asm/kexec.h+39 -01 reply
7/8doc: update the kdump documentDocumentation/kdump/kdump.txt+29 -00 replies
8/8kexec: allow to shrink reserved memoryinclude/linux/kexec.h kernel/kexec.c kernel/ksysfs.c+82 -00 replies

Reviews trailers per patch

3 of 8 patches have a Reviewed-by or Acked-by.

PatchNeil Horman
1/8A-b
2/8
3/8A-b
4/8
5/8A-b
6/8
7/8
8/8

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [Patch 0/8] V5 Implement crashkernel=auto

V4 -> V5:
- Rename the global functions, as suggested by Andrew.
- Save some macros, as suggested by Andrew.
- Change the high threshold, from 32G to 4G.
- Change the low threshold on ppc, suggested by ppc developers.
- Make the mm part as a seperate function, suggest by Eric.
- Make the IA64 code more readable.
- Reorder the patchset again, since review from mm people is done.

V3 -> V4:
- Reorder the patches.
- Really free the reserved memory, instead of remapping it. (Thanks to KAMEZAWA Hiroyuki!)
- Release the reserved memory resource when the size is 0.
- Use strict_strtoul() instead of simple_strtoul().

V2 -> V3:
- Use more clever way to calculate reserved memory size, especially for IA64.
- Add that patch that implements shrinking reserved memory

V1 -> V2:
- Use include/asm-generic/kexec.h, suggested by Neil.
- Rename a local variable, suggested by Fenghua.
- Fix some style problems found by checkpatch.pl.
- Unify the Kconfig docs.

This series of patch implements automatically reserved memory for crashkernel, by introducing a new boot option "crashkernel=auto". This idea is from Neil.

In case of breaking user-space applications, it modifies this boot option after it decides how much memory should be reserved.

On different arch, the threshold and reserved memory size is different. Please refer patch 7/8 which contains an update for the documentation.

Patch 8/8 implements shrinking reserved memory at run-time, which is useful when more than enough memory is reserved automatically.

This patchset _is_ already tested on x86_64, IA64 and ppc64.

Cc Neil Horman <[email protected]>
Cc M. Mohan Kumar <[email protected]>
Cc Michael Ellerman <[email protected]>
Cc Eric W. Biederman <[email protected]>
Cc Ingo Molnar <[email protected]>
Cc Tony Luck <[email protected]>
Cc Anton Vorontsov <[email protected]>
Cc Andi Kleen <[email protected]>
Cc Fenghua Yu <[email protected]>
Cc Bernhard Walle <[email protected]>
Cc KAMEZAWA Hiroyuki <[email protected]>
---
 Documentation/kdump/kdump.txt    |   29 +++++++++
 arch/ia64/Kconfig                |   14 ++++
 arch/ia64/include/asm/kexec.h    |   44 +++++++++++++
 arch/powerpc/Kconfig             |   11 +++
 arch/powerpc/include/asm/kexec.h |   39 ++++++++++++
 arch/x86/Kconfig                 |   13 ++++
 arch/x86/include/asm/kexec.h     |    1 
 include/asm-generic/kexec.h      |   16 +++++
 include/linux/kexec.h            |    2 
 kernel/kexec.c                   |  124 +++++++++++++++++++++++++++++++++++++++
 kernel/ksysfs.c                  |   21 ++++++
 11 files changed, 314 insertions(+)