RE: [PATCH] crash dump: don't delete non-E820_RAM during init

From: Zhang, Jun
Date: Sun Nov 04 2012 - 20:38:41 EST


Hello, Gortmaker
I will modify my subject. Thanks!

Hello, Anvin
from our three options, I think third option is better. But in 3) option, there are two choose, 3.1) is like memmap=REMOVERAM, 3.2) is memmap=CRASHKDUMP.
In 3.1) we maybe need ifdef/endif within the { } of the function (like exactmap).
In 3.2) we can remove the ifdef/endif.
Which one is the better? Maybe you have a better solution, please share it.
Thanks!

Next is our three option.
1) my patch.
2) modify kexec, only pass two parameters -- memmap=544K@64K
memmap=64964K@32768K, in kernel setup_memory_map, we can remove RAM
range.
3) add extra optional, 3.1) like memmap=REMOVERAM
3.2) like memmap=CRASHKDUMP

Best Regards!

Jun Zhang
Inet: 8821-4273
Dir.Tel: 86-21-6116-4273
Email: jun.zhang@xxxxxxxxx

-----Original Message-----
From: H. Peter Anvin [mailto:hpa@xxxxxxxxx]
Sent: Saturday, November 03, 2012 12:38 AM
To: Zhang, Jun
Cc: Thomas Gleixner; Ingo Molnar; x86@xxxxxxxxxx; Andrew Morton; Fleming, Matt; Paul Gortmaker; linux-kernel@xxxxxxxxxxxxxxx
Subject: Re: [PATCH] To crash dump, we need keep other memory type except E820_RAM, because other type come from BIOS or firmware is used by other code(for example: PCI_MMCONFIG).

On 11/01/2012 01:49 AM, Zhang, Jun wrote:
> Hello, Anvin
>
> Thank for your advice.
>
> Hello, All
>
> the next patch is made by 2), please review it. Thanks!
>

No, it is not.

You are still modifying the behavior of the kernel depending on CONFIG_CRASH_DUMP.

CONFIG_CRASH_DUMP doesn't mean "we are doing a crash dump". It means "it is possible to use this kernel to do a crash dump".

Either you are using standard kernel parameters in a standard way which is what option 2 was supposed to be -- it should require no kernel changes! -- or you have to put something in a code path specific to a crash dump.

-hpa

N‹§²æìr¸›yúèšØb²X¬¶ÇvØ^–)Þ{.nÇ+‰·¥Š{±‘êçzX§¶›¡Ü}©ž²ÆzÚ&j:+v‰¨¾«‘êçzZ+€Ê+zf£¢·hšˆ§~†­†Ûiÿûàz¹®w¥¢¸?™¨è­Ú&¢)ßf”ù^jÇy§m…á@A«a¶Úÿ 0¶ìh®å’i