[Patch 0/8] V6 Implement crashkernel=auto

From: Amerigo Wang
Date: Fri Sep 04 2009 - 06:09:43 EST

This is the LAST try, since some people still don't like them.

Please take whatever you want, patch 8/8 can be applied
seprately, only taking it is fine.

V5 -> V6:
- move arch_default*() functions into C files.

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 <nhorman@xxxxxxxxxx>
Cc: M. Mohan Kumar <mohan@xxxxxxxxxx>
Cc: Michael Ellerman <michael@xxxxxxxxxxxxxx>
Cc: Eric W. Biederman <ebiederm@xxxxxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxx>
Cc: Tony Luck <tony.luck@xxxxxxxxx>
Cc: Anton Vorontsov <avorontsov@xxxxxxxxxxxxx>
Cc: Andi Kleen <andi@xxxxxxxxxxxxxx>
Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx>
Cc: Bernhard Walle <bernhard.walle@xxxxxx>
Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx>
Signed-off-by: WANG Cong <amwang@xxxxxxxxxx>

Documentation/kdump/kdump.txt | 29 ++++++++
arch/ia64/Kconfig | 14 ++++
arch/ia64/include/asm/kexec.h | 7 ++
arch/ia64/kernel/machine_kexec.c | 38 +++++++++++
arch/powerpc/Kconfig | 11 +++
arch/powerpc/include/asm/kexec.h | 22 ++++++
arch/powerpc/kernel/machine_kexec.c | 24 ++++++
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 ++++++
13 files changed, 322 insertions(+)

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/