[PATCH v2 0/4] kexec-tools, x86: E820 memmap pass for kdump
Vivek Goyal
vgoyal at redhat.com
Mon Feb 24 10:22:05 EST 2014
On Mon, Feb 24, 2014 at 10:58:41PM +0800, WANG Chao wrote:
[..]
> > Approaches to avoid saved_max_pfn in calgary case:
> > 1) If done correctly from the beginning, the TCE table size would have
> > been exposed via /sys and kexec-tools could simply add:
> > calgary="128k|512K...|8M" which is already caught by pci-calgary and
> > saved_max_pfn is not needed/touched anymore.
> > -> Disadvantage: needs a new sysfs entry
> > 2) When finding max_pfn for calgary table size usage, we could try in
> > kdump case to use the highest memory (RAM or RESERVED) showing up
> > in e820 map.
>
> How could this replace saved_max_pfn? The highest memory in kdump can't
> necessarily be the real ram size. In kdump, RAM range is just part of the real
> ram, not mentioning we don't pass RESERVED range to kdump E820.
I vaguely remember there was some discussion about passing first kerne's
RAM as special reserved ranges. Say E820_RESERVED_KDUMP. And use that
to figure out saved_max_pfn.
I personally feel that just create a new command line parameter
"saved_max_pfn" and pass it to second kernel and be done with it. Modify
calgary code to first look for saved_max_pfn and if not present, calculate
saved_max_pfn from e820.
saved_max_pfn command line option is pretty ugly, not sure what are the
better options here.
Thanks
Vivek
More information about the kexec
mailing list