Thread (42 messages) 42 messages, 9 authors, 2016-11-01
STALE3513d
Revisions (8)
  1. v24 [diff vs current]
  2. v24 [diff vs current]
  3. v24 [diff vs current]
  4. v24 [diff vs current]
  5. v26 [diff vs current]
  6. v26 [diff vs current]
  7. v26 [diff vs current]
  8. v26 current

[PATCH v26 0/7] arm64: add kdump support

From: Manish Jaggi <hidden>
Date: 2016-10-04 13:23:28
Also in: kexec


On 10/04/2016 04:23 PM, James Morse wrote:
Hi Manish,

On 04/10/16 11:05, Manish Jaggi wrote:
quoted
On 10/04/2016 03:16 PM, James Morse wrote:
quoted
On 03/10/16 13:41, Manish Jaggi wrote:
quoted
On 10/03/2016 04:34 PM, AKASHI Takahiro wrote:
quoted
On Mon, Oct 03, 2016 at 01:24:34PM +0530, Manish Jaggi wrote:
quoted
First kernel is booted with mem=2G crashkernel=1G command line option.
While the system has 64G memory.
quoted
quoted
Are you saying that "mem=..." doesn't have any effect?
What I am saying it that If the first kernel is booted using mem= option and crashkernel= option
the memory for second kernel has to be withing the crashkernel size.
As per /proc/iomem System RAM the information is correct, but the /proc/meminfo is showing total memory
much more than the first kernel had in first place.
So your second crashkernel has 63G of memory? Unless you provide the same 'mem='
to the kdump kernel, this is the expected behaviour. The
DT:/reserved-memory/crash_dump describes the memory not to use.

On your first boot with 'mem=2G' memblock_mem_limit_remove_map() called from
arm64_memblock_init() removed the top 62G of memory. Neither the first kernel
nor kexec-tools know about the top 62G.
When you run kexec-tools, it describes what it sees in /proc/iomem in the
DT:/reserved-memory/crash_dump, which is just the remaining 1G of memory.

When we crash and reboot, the crash kernel discovers all 64G of memory from the
EFI memory map.
quoted
So the iomem and meminfo should be same or different for the second kernel?
Also i assumed that crashkernel=1G should restrict the second kernels to 1G.
Not with v26 of this series. What should it do with the 62G of memory that was
removed by booting with 'mem=2G'? It isn't part of the crashkernel reserved
area, and it isn't part of the vmcore described in elfcorehdr either...

quoted
This is my understanding from the description. It should not require a second mem= option
quoted
quoted
kexec-tools described the 1G of memory that the first kernel was using in the
DT:/reserved-memory/crash_dump node, so early_init_fdt_scan_reserved_mem()
reserves the 1G of memory the first kernel used. This leaves us with 63G of memory.

This may change with the next version of kdump if it switches back to using
DT:/chosen/linux,usable-memory-range.
If you need v26 to avoid the top 62G of memory, you need to provide the same
'mem=' to the first and second kernel.
quoted
If I provide for second kernel, I dont see any prints after Bye.
Have you tired this anytime?
Yes, on juno-r1 passing 'mem=2G' to both the first and second kernel causes only
the first 2G of memory to be used with this pattern:
first kernel:		[1G used for linux]	[1G reserved for Crash kernel] 	[6G memory
hidden]
kdump kernel:	[1G vmcore]			[1G used for linux] 			[6G memory hidden]
Oh, ok!
I was giving mem=1G to crashkernel to test. with mem=2G it works.
quoted
quoted
quoted
quoted
quoted
1.2 Live crash dump fails with error
... do we expect this to work? I don't think it has anything to do with this
series...
Why it should not?
I saved the vmcore file while in second kernel. Since crash without vmcore file didnt run,
Tried with vmcore file and it worked. Its just that if you want to boot a second kernel
 with read only file system without network live crash dump analysis is handy.
Ah, you want to run /usr/bin/crash with the kdump boot of linux. You still need
to tell it where to find the memory image: "crash /path/to/vmlinux /proc/vmcore"
should do the trick.
We should fix the documentation of kdump them.
Since it is not supported, it should be removed.
Thanks,

James
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help