Re: mainline/master bisection: baseline.login on meson-sm1-khadas-vim3l
From: Guillaume Tucker
Date: Wed Feb 24 2021 - 04:28:15 EST
On 24/02/2021 08:52, Marc Zyngier wrote:
> On Tue, 23 Feb 2021 21:03:52 +0000,
> Guillaume Tucker <guillaume.tucker@xxxxxxxxxxxxx> wrote:
>>
>> On 23/02/2021 14:18, Marc Zyngier wrote:
>>> Hi Guillaume,
>>>
>>> On Tue, 23 Feb 2021 09:46:30 +0000,
>>> Guillaume Tucker <guillaume.tucker@xxxxxxxxxxxxx> wrote:
>>>>
>>>> Hello Marc,
>>>>
>>>> Please see the bisection report below about a boot failure on
>>>> meson-sm1-khadas-vim3l on mainline. It seems to only be
>>>> affecting kernels built with CONFIG_ARM64_64K_PAGES=y.
>>>>
>>>> Reports aren't automatically sent to the public while we're
>>>> trialing new bisection features on kernelci.org but this one
>>>> looks valid.
>>>>
>>>> There's no output in the log, so the kernel is most likely
>>>> crashing early. Some more details can be found here:
>>>>
>>>> https://kernelci.org/test/case/id/6034bed3b344e2860daddcc8/
>>>>
>>>> Please let us know if you need any help to debug the issue or try
>>>> a fix on this platform.
>>>
>>> Thanks for the heads up.
>>>
>>> There is actually a fundamental problem with the patch you bisected
>>> to: it provides no guarantee that the point where we enable the EL2
>>> MMU is in the idmap and, as it turns out, the code we're running from
>>> disappears from under our feet, leading to a translation fault we're
>>> not prepared to handle.
>>>
>>> How does it work with 4kB pages? Luck.
>>
>> There may be a fascinating explanation for it, but luck works
>> too. It really seems to be booting happily with 4k pages:
>>
>> https://kernelci.org/test/plan/id/60347b358de339d1b7addcc5/
>
> Oh, I know it boots fine with 4k, that's what I used everywhere.
> We're just lucky that the bit of code that deals with the MMU happens
> to *also* be in the idmap. With 64k pages, it gets pushed further down
> the line, and bad things happen. Short of explicit statements in the
> code, luck rules.
OK I see that now, thanks for the explanation.
>>> Do you mind giving the patch below a go? It does work on my vim3l and
>>> on a FVP, so odds are that it will solve it for you too.
>>
>> Sure, and that worked here as well:
>>
>> http://lava.baylibre.com:10080/scheduler/job/752416
>>
>> and here's the test branch where I applied your fix, for
>> completeness:
>>
>> https://gitlab.collabora.com/gtucker/linux/-/commits/v5.11-vim3l-vhe/
>
> Awesome. thanks for having tested it.
>
>> As always, if you do send a patch with the fix, please give some
>> credit to the bot:
>>
>> Reported-by: "kernelci.org bot" <bot@xxxxxxxxxxxx>
>
> Will do. Mind if I credit you too for the testing?
Sure:
Tested-by: Guillaume Tucker <guillaume.tucker@xxxxxxxxxxxxx>
Thanks,
Guillaume