Re: perf hw in kexeced kernel broken in tip

Eric W. Biederman
2010-12-01T20:41:45Z

Peter Zijlstra <peterz@infradead.org> writes:

> On Wed, 2010-12-01 at 14:46 -0500, Vivek Goyal wrote:
>> On Wed, Dec 01, 2010 at 08:38:12PM +0100, Peter Zijlstra wrote:
>> > On Wed, 2010-12-01 at 11:23 -0500, Vivek Goyal wrote:
>> > > > What does kexec normally do to ensure hardware is left in a sane state?
>> > >
>> > > Typically calls device_shutdown() and sysdev_shutdown() from
>> > > kernel_restart_prepare() to shutdown the devices.
>> > >
>> > > Also calls machine_shutdown() which depending on architecture can take
>> > > care of various things like stopping other cpus, shutting down LAPIC,
>> > > disabling IOAPIC, disabling hpet, shutting down IOMMU etc
>> > > (native_machine_shutdown()).
>> >
>> > So basically there's no sane generic reset callout?
>>
>> I think ->shutdown() calls are sane generic callouts. Isn't it?
>
> ->shutdown looks like it's about to reset/halt the hardware, no point in
> slowing down the regular shutdown/reboot path for something like this,
> we know the hardware will get reset to a sane state.

No you don't!

Most BIOSen implement a board level reset there, but it isn't required.
Just doing a software only reinitialization is allowed, and on some
arches is the only thing you can do.

Speed during reboot is not a reason to avoid anything. reboot
is not a fast path, and we are talking about things in human tersm.

The only argument I have heard that holds the least amount of
sense is to keep what we do to a minimum, to increase the chances
that we can do a reboot even after a kernel oops.

All of that said. What insane start are we leaving the hardware
in that we think it is going to be slow in human terms to remove?

Eric