Re: [discuss] [patch 3/5] Use extended crashkernel command line on x86_64

Previous thread: [patch 2/5] Use extended crashkernel command line on i386 by Bernhard Walle on Sunday, September 9, 2007 - 4:39 am. (1 message)

Next thread: [patch 4/5] Use extended crashkernel command line on IA64 by Bernhard Walle on Sunday, September 9, 2007 - 4:39 am. (3 messages)
To: <kexec@...>
Cc: <linux-kernel@...>, <linux-arch@...>, <discuss@...>
Date: Sunday, September 9, 2007 - 4:39 am

This patch removes the crashkernel parsing from
arch/x86_64/kernel/machine_kexec.c and calls the generic function, introduced in
the last patch, in setup_bootmem_allocator().

This is necessary because the amount of System RAM must be known in this
function now because of the new syntax.

Signed-off-by: Bernhard Walle <bwalle@suse.de>

---
arch/x86_64/kernel/e820.c | 3 ++-
arch/x86_64/kernel/machine_kexec.c | 27 ---------------------------
arch/x86_64/kernel/setup.c | 35 ++++++++++++++++++++++++++++-------
3 files changed, 30 insertions(+), 35 deletions(-)

--- a/arch/x86_64/kernel/e820.c
+++ b/arch/x86_64/kernel/e820.c
@@ -226,7 +226,8 @@ void __init e820_reserve_resources(void)
request_resource(res, &code_resource);
request_resource(res, &data_resource);
#ifdef CONFIG_KEXEC
- request_resource(res, &crashk_res);
+ if (crashk_res.start != crashk_res.end)
+ request_resource(res, &crashk_res);
#endif
}
}
--- a/arch/x86_64/kernel/machine_kexec.c
+++ b/arch/x86_64/kernel/machine_kexec.c
@@ -231,33 +231,6 @@ NORET_TYPE void machine_kexec(struct kim
image->start);
}

-/* crashkernel=size@addr specifies the location to reserve for
- * a crash kernel. By reserving this memory we guarantee
- * that linux never set's it up as a DMA target.
- * Useful for holding code to do something appropriate
- * after a kernel panic.
- */
-static int __init setup_crashkernel(char *arg)
-{
- unsigned long size, base;
- char *p;
- if (!arg)
- return -EINVAL;
- size = memparse(arg, &p);
- if (arg == p)
- return -EINVAL;
- if (*p == '@') {
- base = memparse(p+1, &p);
- /* FIXME: Do I want a sanity check to validate the
- * memory range? Yes you do, but it's too early for
- * e820 -AK */
- crashk_res.start = base;
- crashk_res.end = base + size - 1;
- }
- return 0;
-}
-early_param("crashkernel", setup_crashkernel);
-
void arch_crash_save_vmcoreinfo(void)
{
#ifdef CONFIG_AR...

To: Bernhard Walle <bwalle@...>, Eric W. Biederman <ebiederm@...>, Vivek Goyal <vgoyal@...>
Cc: <kexec@...>, <linux-arch@...>, <discuss@...>, <linux-kernel@...>
Date: Sunday, September 9, 2007 - 1:27 pm

...

CONFIG_KEXEC or CONFIG_CRASH_DUMP?

YH
-

To: Yinghai Lu <yhlu.kernel@...>
Cc: Eric W. Biederman <ebiederm@...>, Vivek Goyal <vgoyal@...>, <linux-arch@...>, <discuss@...>, <kexec@...>, <linux-kernel@...>
Date: Sunday, September 9, 2007 - 2:52 pm

Good question. The crashkernel parameter was CONFIG_KEXEC before, and
I also wondered why, but I didn't change this because maybe there's
some reason I don't know.

Vivek, do you know why this was CONFIG_KEXEC?

Thanks,
Bernhard
-

To: Yinghai Lu <yhlu.kernel@...>, Eric W. Biederman <ebiederm@...>, <linux-arch@...>, <discuss@...>, <kexec@...>, <linux-kernel@...>, Bernhard Walle <bwalle@...>
Date: Tuesday, September 11, 2007 - 1:14 am

Bernhard,

As Eric mentioned, CONFIG_CRASH_DUMP has been used for all dump capturing
infrastructure and rest of the kexec and kexec on panic functionality
has been put under CONFIG_KEXEC.

Keeping memory reservation under CONFIG_KEXEC helps in a sense when
somebody is not using a relocatable kernel and uses a custom kernel for dump
capture. In that case he does not have to enable CONFIG_CRASH_DUMP in the
first kernel.

Thanks
Vivek
-

To: Vivek Goyal <vgoyal@...>
Cc: Yinghai Lu <yhlu.kernel@...>, Eric W. Biederman <ebiederm@...>, <linux-arch@...>, <discuss@...>, <kexec@...>, <linux-kernel@...>
Date: Tuesday, September 11, 2007 - 6:01 am

Yes, you all are right ... sorry for the noise ;)

Thanks,
Bernhard
-

To: Bernhard Walle <bwalle@...>
Cc: Yinghai Lu <yhlu.kernel@...>, Vivek Goyal <vgoyal@...>, <linux-arch@...>, <discuss@...>, <kexec@...>, <linux-kernel@...>
Date: Sunday, September 9, 2007 - 5:06 pm

Probably because you use it in the primary kernel you use it.
The option reserves an area of memory for the kernel we switch
to on panic or another kernel crash.

Generally CONFIG_CRASH_DUMP seems to be about the options needed
to read out the crash dump after the fact.

Eric
-

Previous thread: [patch 2/5] Use extended crashkernel command line on i386 by Bernhard Walle on Sunday, September 9, 2007 - 4:39 am. (1 message)

Next thread: [patch 4/5] Use extended crashkernel command line on IA64 by Bernhard Walle on Sunday, September 9, 2007 - 4:39 am. (3 messages)