Re: kexec: device shutdown vs. remove

From: Eric W. Biederman
Date: Sun Jul 24 2016 - 17:49:03 EST


Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> writes:

> On Sun, 2016-07-24 at 00:24 -0500, Eric W. Biederman wrote:
>> If you are willing to do the work to merge shutdown into remove and
>> simplify the drivers, perform the testing and the other state I am in
>> favor of the change. I think we have had enough time to see if have two
>> methods was maintainable for the driver authors.
>
> Well, remove is going away in some drivers at least...
>
> Also shutdown() has two different meaning between kexec and actual
> machine shutdown...
>
> Should we create a new one instead ? Something like quiesce() ? If
> absent, look for remove(), if absent too, look for shutdown() ...
>
> Or we continue doing shutdown() for now with a fallback to remove() if
> shutdown is NULL (this is what I've been toying with internally).

A shutdown method that doesn't work for kexec is a poorly tested buggy
implementation of shutdown.

I don't driver authors for the confusion but it remains true that
shutdown has always been called in the kexec path. So if your shutdown
method does not work for kexec it is buggy (by definition).

Eric