[Skiboot] [PATCH] [v3] Fast reboot for P8

Stewart Smith stewart at linux.vnet.ibm.com
Fri Aug 19 12:51:13 AEST 2016

Benjamin Herrenschmidt <benh at kernel.crashing.org> writes:
> This is an experimental patch that implements "Fast reboot" on P8
> machines.
> The basic idea is that when the OS calls OPAL reboot, we gather all
> the threads in the system using a combination of patching the reset
> vector and soft-resetting them, then cleanup a few bits of hardware
> (we do re-probe PCIe for example), and reload & restart the bootloader.
> This is very experimental and needs a lot of testing and also auditing
> code for other bits of HW that might need to be cleaned up. I also need
> to check if we are properly PERST'ing PCI devices.
> I've successfully fast rebooted a Habanero a few times.

I've been hammering it a bunch on Garrison. I had to patch around a bit
for everything to build on master, but nothing too bad.

my timings for it are pretty impressive. This is with latest BMC
firmware build, petitboot env from current op-build master-next (so
kernel with quiet) and Ubuntu on sda2... which I think is spinning rust:

18.5 seconds to petitboot
1.5 seconds to discover boot options
5 second (configured) petitboot timeout before booting.
20 seconds to boot Ubuntu.

So, that's a reboot cycle every 45 seconds.

I had HTX set up to do continuous bootme on it, and even found a bug! we
have a mem leak, as on successive boots we have this much free HEAP at
end of boot:

I think it's the device tree blob, so should be easy fix.

Now going to try with NVMe installed OS... that could be fun... and
perhaps cut down the reboot time to *insanely* quick too.

Stewart Smith
OPAL Architect, IBM.

More information about the Skiboot mailing list