[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200604071410.GA30155@willie-the-truck>
Date: Thu, 4 Jun 2020 08:14:11 +0100
From: Will Deacon <will@...nel.org>
To: Bhupesh Sharma <bhsharma@...hat.com>
Cc: John Donnelly <john.p.donnelly@...cle.com>,
chenzhou <chenzhou10@...wei.com>,
Simon Horman <horms@...ge.net.au>,
Devicetree List <devicetree@...r.kernel.org>,
Arnd Bergmann <arnd@...db.de>, Baoquan He <bhe@...hat.com>,
Linux Doc Mailing List <linux-doc@...r.kernel.org>,
Catalin Marinas <catalin.marinas@....com>,
guohanjun@...wei.com,
kexec mailing list <kexec@...ts.infradead.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Rob Herring <robh+dt@...nel.org>,
James Morse <james.morse@....com>, nsaenzjulienne@...e.de,
Prabhakar Kushwaha <prabhakar.pkin@...il.com>,
Thomas Gleixner <tglx@...utronix.de>,
Prabhakar Kushwaha <pkushwaha@...vell.com>,
RuiRui Yang <dyoung@...hat.com>,
Ingo Molnar <mingo@...hat.com>,
linux-arm-kernel <linux-arm-kernel@...ts.infradead.org>
Subject: Re: [PATCH v8 0/5] support reserving crashkernel above 4G on arm64
kdump
On Thu, Jun 04, 2020 at 01:17:06AM +0530, Bhupesh Sharma wrote:
> On Wed, Jun 3, 2020 at 9:03 PM John Donnelly <john.p.donnelly@...cle.com> wrote:
> > > On Jun 3, 2020, at 8:20 AM, chenzhou <chenzhou10@...wei.com> wrote:
> > > On 2020/6/3 19:47, Prabhakar Kushwaha wrote:
> > >>>> diff --git a/kernel/crash_core.c b/kernel/crash_core.c
> > >>>> index 7f9e5a6dc48c..bd67b90d35bd 100644
> > >>>> --- a/kernel/crash_core.c
> > >>>> +++ b/kernel/crash_core.c
> > >>>> @@ -354,7 +354,7 @@ int __init reserve_crashkernel_low(void)
> > >>>> return 0;
> > >>>> }
> > >>>>
> > >>>> - low_base = memblock_find_in_range(0, 1ULL << 32, low_size, CRASH_ALIGN);
> > >>>> + low_base = memblock_find_in_range(0,0xc0000000, low_size, CRASH_ALIGN);
> > >>>> if (!low_base) {
> > >>>> pr_err("Cannot reserve %ldMB crashkernel low memory,
> > >>>> please try smaller size.\n",
> > >>>> (unsigned long)(low_size >> 20));
> > >>>>
> > >>>>
> > >>> I suspect 0xc0000000 would need to be a CONFIG item and not hard-coded.
> > >>>
> > >> if you consider this as valid change, can you please incorporate as
> > >> part of your patch-set.
> > >
> > > After commit 1a8e1cef7 ("arm64: use both ZONE_DMA and
> > > ZONE_DMA32"),the 0-4G memory is splited to DMA [mem
> > > 0x0000000000000000-0x000000003fffffff] and DMA32 [mem
> > > 0x0000000040000000-0x00000000ffffffff] on arm64.
> > >
> > > From the above discussion, on your platform, the low crashkernel fall
> > > in DMA32 region, but your environment needs to access DMA region, so
> > > there is the call trace.
> > >
> > > I have a question, why do you choose 0xc0000000 here?
> > >
> > > Besides, this is common code, we also need to consider about x86.
> > >
> >
> > + nsaenzjulienne@...e.de
> >
> > Exactly . This is why it needs to be a CONFIG option for Raspberry
> > .., or device tree option.
> >
> >
> > We could revert 1a8e1cef7 since it broke Arm kdump too.
>
> Well, unfortunately the patch for commit 1a8e1cef7603 ("arm64: use
> both ZONE_DMA and ZONE_DMA32") was not Cc'ed to the kexec mailing
> list, thus we couldn't get many eyes on it for a thorough review from
> kexec/kdump p-o-v.
>
> Also we historically never had distinction in common arch code on the
> basis of the intended end use-case: embedded, server or automotive, so
> I am not sure introducing a Raspberry specific CONFIG option would be
> a good idea.
Right, we need a fix that works for everybody, since we try hard for a
single Image that works for all platforms.
What I don't really understand is why, with Chen's patches applied, we can't
just keep the crashkernel out of the DMA zones altogether when no base is
specified. I guess I'll just look out for your patch!
Will
Powered by blists - more mailing lists