[lkml]   [2010]   [Apr]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Subject[PATCH 0/5] Add second memory region for crash kernel
    Patch applies to 2.6.34-rc5

    On x86 platform, even if hardware is 64-bit capable, kernel starts
    execution in 32-bit mode. When system is kdump-enabled, crashed kernel
    switches to 32 bit mode and jumps into new kernel. This automatically
    limits location of dump-capture kernel image and it's initrd by first
    4Gb of memory. Switching to 32 bit mode is performed by purgatory
    code, which has relocations of type R_X86_64_32S (32-bit signed), and
    this cuts "good" address space for crash kernel down to 2 Gb. I/O
    regions may cut down this space further.

    When system has a lot of memory (hundreds of gigabytes), dump-capture
    kernel also needs relatively a lot of memory to account old kernel's
    pages. It may be impossible to reserve enough memory below 2 or even 4
    Gb. Simplest solution is it break dump-capture kernel's reserved
    memory region into two pieces: first (small) region for kernel and
    initrd images may be easily placed in "good" address space in the
    beginning of physical memory, and second region may be located

    This serie of patches realizes this approach. It requires also changes
    in kexec utility to make this feature work, but is
    backward-compatible: old versions of kexec will work with new
    kernel. I will post patch to kexec-tools upstream separately.

    Signed-off-by: Vitaly Mayatskikh <>

    Documentation/kdump/kdump.txt | 40 ++++++++
    Documentation/kernel-parameters.txt | 19 +++-
    arch/x86/kernel/setup.c | 56 +++++++----
    include/linux/kexec.h | 6 +
    kernel/kexec.c | 182 ++++++++++++++++++++++++++---------
    5 files changed, 232 insertions(+), 71 deletions(-)

     \ /
      Last update: 2010-04-22 18:25    [W:0.020 / U:6.608 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site