Subject: Re: [PATCH] ehea: add kexec support

From: Michael Neuling <[email-masked]>
Date: Sat, 03 Nov 2007 17:06:31 +1100

> Michael Ellerman <[email-masked]> wrote on 02.11.2007 07:30:08:
> 
> > On Wed, 2007-10-31 at 20:48 +0100, Christoph Raisch wrote:
> > > Michael Ellerman <[email-masked]> wrote on 30.10.2007 23:50:36:
> > If that's really the way it works then eHEA is more or less broken for
> > kdump I'm afraid.
> 
> We think we have a way to workaround this, but let me first try to
> explain the base problem.
> 
> DD allocates HEA resources and gets firmware_handles for these resources.
> To free the resources DD needs to use exactly these handles.
> There's no generic firmware call "clean out all resources".
> Allocating the same resources twice does not work.

Can we get a new firmware call to do this?  

> So a new kernel can't free the resources allocated by an old kernel,
> because the numeric values of the handles aren't known anymore.

How many possible handles are there?  

If the handles are lost, is the only way to clear out the HEA resources
is to reset the partition?

> Potential Solution:
> Hea driver cleanup function hooks into ppc_md.machine_crash_shutdown
> and frees all firmware resources at shutdown time of the crashed kernel.

This means the crashed kernel now has to be trusted to shut down and
free up the resources.  Isn't trusting the crashing kernel in this way
against the whole kdump idea?

> crash_kexec continues and loads new kernel.
> The new kernel restarts the HEA driver within kdump kernel, which will work
> because resources have been freed before.
> 
> Michael, would this work?
> 
> Gruss / Regards
> Christoph R.
> 
> _______________________________________________
> Linuxppc-dev mailing list
> [email-masked]
> https://ozlabs.org/mailman/listinfo/linuxppc-dev
>