Re: [PATCH v12 0/9] support reserving crashkernel above 4G on arm64 kdump

Bhupesh Sharma
2020-10-05T17:42:27Z

Hi Catalin, Chen,

On Mon, Oct 5, 2020 at 10:39 PM Catalin Marinas <catalin.marinas@arm.com> wrote:
>
> On Sat, Sep 12, 2020 at 06:44:29AM -0500, John Donnelly wrote:
> > On 9/7/20 8:47 AM, Chen Zhou wrote:
> > > Chen Zhou (9):
> > > x86: kdump: move CRASH_ALIGN to 2M
> > > x86: kdump: make the lower bound of crash kernel reservation
> > > consistent
> > > x86: kdump: use macro CRASH_ADDR_LOW_MAX in functions
> > > reserve_crashkernel[_low]()
> > > x86: kdump: move reserve_crashkernel[_low]() into crash_core.c
> > > arm64: kdump: introduce some macroes for crash kernel reservation
> > > arm64: kdump: reimplement crashkernel=X
> > > kdump: add threshold for the required memory
> > > arm64: kdump: add memory for devices by DT property
> > > linux,usable-memory-range
> > > kdump: update Documentation about crashkernel
> [...]
> > I did a brief unit-test on 5.9-rc4.
> >
> > Please add:
> >
> > Tested-by: John Donnelly <John.p.donnelly@oracle.com>
>
> Thanks for testing.
>
> > This activity is over a year old. It needs accepted.
>
> It's getting there, hopefully in 5.11. There are some minor tweaks to
> address.

I think my earlier email with the test results on this series bounced
off the mailing list server (for some weird reason), but I still see
several issues with this patchset. I will add specific issues in the
review comments for each patch again, but overall, with a crashkernel
size of say 786M, I see the following issue:

# cat /proc/cmdline
BOOT_IMAGE=(hd7,gpt2)/vmlinuz-5.9.0-rc7+ root=<..snip..>
rd.lvm.lv=<..snip..> crashkernel=786M

I see two regions of size 786M and 256M reserved in low and high
regions respectively, So we reserve a total of 1042M of memory, which
is an incorrect behaviour:

# dmesg | grep -i crash
[ 0.000000] Reserving 256MB of low memory at 2816MB for crashkernel
(System low RAM: 768MB)
[ 0.000000] Reserving 786MB of memory at 654158MB for crashkernel
(System RAM: 130816MB)
[ 0.000000] Kernel command line:
BOOT_IMAGE=(hd2,gpt2)/vmlinuz-5.9.0-rc7+
root=/dev/mapper/rhel_ampere--hr330a--03-root ro
rd.lvm.lv=rhel_ampere-hr330a-03/root
rd.lvm.lv=rhel_ampere-hr330a-03/swap crashkernel=786M cma=1024M

# cat /proc/iomem | grep -i crash
b0000000-bfffffff : Crash kernel (low)
bfcbe00000-bffcffffff : Crash kernel

IMO, we should test this feature more before including this in 5.11

Thanks,
Bhupesh