From: ebiederm@xmission.com (Eric W. Biederman)
To: Brian King <brking@linux.vnet.ibm.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>,
Anton Blanchard <anton@samba.org>,
james.smart@broadcom.com, dick.kennedy@broadcom.com,
jejb@linux.vnet.ibm.com, martin.petersen@oracle.com,
jk@ozlabs.org, linux-scsi@vger.kernel.org
Subject: Re: [PATCH] scsi: lpfc: Add shutdown method for kexec
Date: Tue, 14 Feb 2017 15:45:30 +1300 [thread overview]
Message-ID: <874lzx32yd.fsf@xmission.com> (raw)
In-Reply-To: <2fa7fc70-44d4-f536-befb-8a7849741fb7@linux.vnet.ibm.com> (Brian King's message of "Mon, 13 Feb 2017 15:57:22 -0600")
Brian King <brking@linux.vnet.ibm.com> writes:
> On 02/12/2017 07:01 PM, Benjamin Herrenschmidt wrote:
>> On Mon, 2017-02-13 at 13:21 +1300, Eric W. Biederman wrote:
>>>> Good point, at the very least we should call remove if shutdown doesn't
>>>> exist. Eric: could we make the changes Ben suggests?
>>>
>>> Definitely. That was the original design of the kexec interface
>>> but people were worried about calling remove during reboot might
>>> introduce regressions on the reboot functionality. So shutdown was
>>> added to be remove without the cleaning up the kernel data structures.
>>
>> Right. Part of the problem was also that remove was dependent on CONFIG_HOTPLUG
>> though that's no longer the case anymore.
>>
>> The problem is that a bunch of drivers either don't have a shutdown or
>> worse, have one that actually shuts the HW down rather than "idle" it
>> which puts it in a state that the new kernel can't deal with.
>
> If we do transition to use remove rather than shutdown, I think we want
> some way for a device driver to know whether we are doing kexec or not.
> A RAID adapter with a write cache is going to want to flush its write
> cache on a PCI hotplug remove, but for a kexec, its going to want to skip
> that so the kexec is faster. Today, since kexec looks like a reboot,
> rather than a shutdown, we can skip the flush on a reboot, since its
> technically not needed there either.
This doesn't make any sense.
With a PCI hotplug remove you can't do anything because by the time you
get the event the hardware is gone. I think there are optional
interlocks but nothing as good as the old 3.5" floppy disk button, or
the button on CD drives.
The only difference ever that should exist between shutdown and remove
is do you clean up kernel data structures. The shutdown method is
allowed to skip the cleanup up kernel data structures that the remove
method needs to make.
Assuming the kernel does not have corrupted data structures I don't see
any practical reason for distinguishing between the two. There may be
some real world gotchas we have to deal with but semantically I don't
see any concerns.
Eric
next prev parent reply other threads:[~2017-02-14 2:50 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-02-12 21:49 [PATCH] scsi: lpfc: Add shutdown method for kexec Anton Blanchard
2017-02-12 23:14 ` Benjamin Herrenschmidt
2017-02-12 23:47 ` Anton Blanchard
2017-02-13 0:21 ` Eric W. Biederman
2017-02-13 1:01 ` Benjamin Herrenschmidt
2017-02-13 21:57 ` Brian King
2017-02-14 2:04 ` Benjamin Herrenschmidt
2017-02-14 14:56 ` Brian King
2017-02-15 2:44 ` Eric W. Biederman
2017-02-14 2:45 ` Eric W. Biederman [this message]
2017-02-14 3:39 ` Benjamin Herrenschmidt
2017-03-06 14:52 ` Mauricio Faria de Oliveira
2017-03-07 3:46 ` Martin K. Petersen
2017-03-07 5:24 ` Benjamin Herrenschmidt
2017-03-07 12:51 ` Mauricio Faria de Oliveira
2017-03-08 1:29 ` Martin K. Petersen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=874lzx32yd.fsf@xmission.com \
--to=ebiederm@xmission.com \
--cc=anton@samba.org \
--cc=benh@kernel.crashing.org \
--cc=brking@linux.vnet.ibm.com \
--cc=dick.kennedy@broadcom.com \
--cc=james.smart@broadcom.com \
--cc=jejb@linux.vnet.ibm.com \
--cc=jk@ozlabs.org \
--cc=linux-scsi@vger.kernel.org \
--cc=martin.petersen@oracle.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox