Re: Bug report: kernel paniced when system hibernates

From: Alexandre Ghiti
Date: Fri May 26 2023 - 11:12:59 EST



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@xxxxxxxxxx> 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@xxxxxxxxxx> 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 :)