[Skiboot] [PATCH v3 00/29] the big fast reboot series, now with p9 support

Nicholas Piggin npiggin at gmail.com
Wed Nov 29 16:36:38 AEDT 2017

POWER9 was so close to working that I got a bunch of monkeys with
typewriters to write xive reset code until it worked. The P9 fast
reboot is very experimental and will probably break if you sneeze
at it, but it works reliably for my very specific conditions so I
think it's a good start for others to test and attack remaining
missing bits. So I think it's worth merging.

Since last time, other than p9 support, a smattering of pretty minor
cleanups or fixes. Also fixed mambo support for fast reboot and
enabled it by default, which actually turned out to be helpful in
diagnosing a bug I had.


Nicholas Piggin (29):
  fast-reboot: restore SMT priority on spin loop exit
  fast-reboot: factor out direct control loops for sreset
  fast-reboot: remove last man standing logic
  fast-reboot: clean up some common cpu iteration processes with macros
  fast-reboot: factor out the mambo sreset code
  fast-reboot: add sreset_all_others error handling
  fast-reboot: make spin loops consistent and SMT friendly
  fast-reboot: add sreset timeout detection and handling
  fast-reboot: add more barriers around cpu state changes
  fast-reboot: remove delay after sreset
  fast-reboot: inline fast_reset_p8 into fast_reboot
  fast-reboot: move de-asserting of special wakeups to the initiator
  fast-reboot: allow mambo fast reboot independent of CPU type
  fast-reboot: move sreset direct controls to direct-controls.c
  direct-controls: change p8_sreset_all_others sequence
  direct-controls: p8 implementation of generic direct controls
  direct-controls: add xscom error handling for p8
  core/lock: Introduce atomic cmpxchg and implement try_lock with it
  core/lock: improve bust_locks
  asm/head: add entry/exit calls
  asm/head: move opal entry token check into C
  core/opal: always verify cpu->pir on entry
  core: Add support for quiescing OPAL
  fast-reboot: quiesce opal before initiating a fast reboot
  fast-reboot: improve failure error messages
  fast-reboot: move fdt freeing into init
  fast-reboot: move boot CPU cleanup logically together with secondaries
  fast-reboot: bare bones fast reboot implementation for POWER9
  direct-controls: enable fast reboot direct controls for mambo

 asm/Makefile.inc                              |   2 +-
 asm/head.S                                    |  35 +-
 core/chip.c                                   |   2 +-
 core/cpu.c                                    |  36 ++
 core/direct-controls.c                        | 367 ++++++++++++++++++-
 core/fast-reboot.c                            | 507 +++++++-------------------
 core/init.c                                   |  22 +-
 core/lock.c                                   |  29 +-
 core/opal.c                                   | 208 ++++++++++-
 core/platform.c                               |   6 +
 doc/opal-api/opal-quiesce-158.rst             |  59 +++
 doc/opal-api/opal-signal-system-reset-145.rst |   7 +
 hw/xive.c                                     |  39 +-
 include/cpu.h                                 |  12 +
 asm/lock.S => include/direct-controls.h       |  36 +-
 include/interrupts.h                          |   1 +
 include/lock.h                                |  58 ++-
 include/opal-api.h                            |   9 +-
 include/opal-internal.h                       |   2 +
 include/xive.h                                |   1 +
 20 files changed, 978 insertions(+), 460 deletions(-)
 create mode 100644 doc/opal-api/opal-quiesce-158.rst
 rename asm/lock.S => include/direct-controls.h (56%)


More information about the Skiboot mailing list