Re: Bug report: kernel paniced when system hibernates

Alexandre Ghiti
2023-05-26T15:12:59Z

On 26/05/2023 16:59, Conor Dooley wrote:
> On Fri, May 26, 2023 at 03:14:33PM +0200, Alexandre Ghiti wrote:
>> Hi everyone,
>>
>> On Thu, May 25, 2023 at 11:24 PM Conor Dooley <conor@kernel.org> wrote:
>>> On Thu, May 25, 2023 at 01:06:04PM -0700, Atish Patra wrote:
>>>> On Thu, May 25, 2023 at 11:39 AM Conor Dooley <conor@kernel.org> wrote:
>>>>> On Thu, May 25, 2023 at 11:37:40AM -0700, Atish Patra wrote:
>>>>>
>>>>>> Any testing of hibernation still needs to revert the patch until we
>>>>>> have the proper fix.
>>>>> "the patch" is what exactly? I assume you don't mean depending on
>>>>> NONPORTABLE, since that is a Kconfig option.
>>>> Nope. Sorry I meant the commit
>>>>
>>>> 3335068 ("riscv: Use PUD/P4D/PGD pages for the linear mapping")
>>> Ah, if your SBI implementation is one of the affected ones, yeah.
>>> If not, you can just set NONPORTABLE :)
>> @Björn Töpel emitted the idea of excluding from the hibernation all
>> the memory nodes in the "/reserved-memory" node
>> (https://elixir.bootlin.com/linux/v6.4-rc1/source/Documentation/devicetree/bindings/reserved-memory/reserved-memory.yaml):
>> I have to admit that I don't see why it is not done by default by the
>> kernel.
> My understanding was that it was perfectly fine to use reserved memory
> nodes to fence off some memory to use in device drivers etc, which then
> may need to be saved/restored.

Agreed, but I would say that it's up to the driver then to take care of
that, see https://docs.kernel.org/driver-api/pm/notifiers.html

>> Unless there is stuff in this node that needs to be "hibernated", I
>> think that would be a very good solution since we would not rely on
>> the name of the "internal" nodes of "/reserved-memory" (i.e.
>> "mmode_resv").
>>
>> I'm digging into why it is not done by default, just wanted to have
>> your feedback before the week-end :)