lkml.org 
[lkml]   [2015]   [Apr]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 0/5] arm64: add kdump support
Hi Pratyush,

On 04/02/2015 12:56 AM, Pratyush Anand wrote:
> Hi Akashi,
>
> On Thursday 26 March 2015 01:58 PM, AKASHI Takahiro wrote:
>> This patch set enables kdump (crash dump kernel) support on arm64 on top of
>> Geoff's kexec patchset.
>>
>> In this version, there are some arm64-specific usage/constraints:
>> 1) "mem=" boot parameter must be specified on crash dump kernel
>> 2) Kvm will not be enabled on crash dump kernel even if configured
>> See commit messages and Documentation/kdump/kdump.txt for details.
>>
>> The only concern I have is whether or not we can use the exact same kernel
>> as both system kernel and crash dump kernel. The current arm64 kernel is
>> not relocatable in the exact sense but I have no problems in using the same
>> binary for testing kdump.
>>
>> I tested the code with
>> - ATF v1.1 + EDK2(UEFI) v3.0-rc0
>> - kernel v4.0-rc4 + Geoff' kexec v8
>> on Base fast model, using my yet-to-be-submitted kexec-tools [1].
>> You may want to start a kernel with the following boot parameter:
>> crashkernel=64M@2240M
>> and try
>> $ kexec -p --load <vmlinux> --append ...
>> $ echo c > /proc/sysrq-trigger
>>
>
> I tried to use your kdump patches for kernel and kexec-tools. I am not able to load the crash kernel properly.
>
>
> I passed crashkernel=64M@259G (My 8GB RAM starts at 256G) to primary kernel.
>
> Used following to load the crash kernel
> kexec -p --load vmlinux --append="$( cat /proc/cmdline ) maxcpus=1 mem=64M reset_devices"
>
> I see:
>
> kexec_load failed: Cannot assign requested address
> entry = 0x40c40005d0 flags = 0xb70001
>
> What I noticed that arm64_load_other_segments does not calculate correct load address for purgatory or if I pass initrd
> then for that too within crash kernel allocated memory.

It seems that you hit the same problem that I mentioned in:
http://lists.infradead.org/pipermail/linux-arm-kernel/2015-March/334613.html

Please try my latest kexec-tools in my linaro repo (branch name is kdump/v0.11)
and let me know the result.

> Shouldn't we have a function similar to locate_dtb_in_crashmem for putgatory as well as initrd? I can try to fix this
> allocation, but I was just wondering if I understood correctly or I am missing something.

I don't think a function for purgatory is necessary since we try to find a hole
just after dtb.

Thanks,
-Takahiro AKASHI

> ~Pratyush
>
>
>> To examine vmcore (/proc/vmcore), you may use
>> - gdb v7.7 or later
>> - crash + a small patch (to recognize v4.0 kernel)
>>
>> [1] https://git.linaro.org/people/takahiro.akashi/kexec-tools.git
>>
>>
>> AKASHI Takahiro (5):
>> arm64: kdump: reserve memory for crash dump kernel
>> arm64: kdump: implement machine_crash_shutdown()
>> arm64: kdump: do not go into EL2 before starting a crash dump kernel
>> arm64: add kdump support
>> arm64: enable kdump in the arm64 defconfig
>>
>> Documentation/kdump/kdump.txt | 31 ++++++++++++++-
>> arch/arm64/Kconfig | 12 ++++++
>> arch/arm64/configs/defconfig | 1 +
>> arch/arm64/include/asm/kexec.h | 34 +++++++++++++++-
>> arch/arm64/kernel/Makefile | 1 +
>> arch/arm64/kernel/crash_dump.c | 71 +++++++++++++++++++++++++++++++++
>> arch/arm64/kernel/machine_kexec.c | 55 +++++++++++++++++++++++++-
>> arch/arm64/kernel/process.c | 7 +++-
>> arch/arm64/kernel/setup.c | 78 +++++++++++++++++++++++++++++++++++++
>> arch/arm64/kernel/smp.c | 10 ++++-
>> 10 files changed, 294 insertions(+), 6 deletions(-)
>> create mode 100644 arch/arm64/kernel/crash_dump.c
>>


\
 
 \ /
  Last update: 2015-04-02 02:01    [W:0.126 / U:5.604 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site