[Skiboot] [PATCH 00/18] move direct controls out of fast-reboot,

Nicholas Piggin npiggin at gmail.com
Sun Nov 19 20:14:50 AEDT 2017


Here's a set of patches that move the p8 direct controls out of
fast-reboot and into direct-controls. The fast reboot APIs are
implemented on top of direct controls API. This should allow fast
reboot to use sreset on p9, and cleans things up.

Also added opal quiescing patches at the end while I was working
on fast reboot stuff, but they don't logically depend on one another.

This seems to work okay on a power8 test system. Anybody looking at
doing the rest of fast reboot on power9 should start with this I
think.

Comments?

Thanks,
Nick

Nicholas Piggin (18):
  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: move de-asserting of special wakeups to the initiator
  fast-reboot: clean up some common cpu iteration processes with macros
  fast-reboot: factor out the mambo sreset code
  fast-reboot: add sreset initiation 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: 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
  core/lock: Introduce atomic cmpxchg and implement try_lock with it
  core/lock: improve bust_locks
  core: Add support for quiescing OPAL

 asm/Makefile.inc                              |   2 +-
 asm/head.S                                    |  32 +--
 core/cpu.c                                    |   8 +
 core/direct-controls.c                        | 323 ++++++++++++++++++++-
 core/fast-reboot.c                            | 399 +++++---------------------
 core/lock.c                                   |  29 +-
 core/opal.c                                   | 194 ++++++++++++-
 core/platform.c                               |   6 +
 doc/opal-api/opal-quiesce-158.rst             |  59 ++++
 doc/opal-api/opal-signal-system-reset-145.rst |   7 +
 include/cpu.h                                 |  11 +
 asm/lock.S => include/direct-controls.h       |  36 +--
 include/lock.h                                |  58 +++-
 include/opal-api.h                            |   9 +-
 include/opal-internal.h                       |   2 +
 15 files changed, 769 insertions(+), 406 deletions(-)
 create mode 100644 doc/opal-api/opal-quiesce-158.rst
 rename asm/lock.S => include/direct-controls.h (56%)

-- 
2.15.0



More information about the Skiboot mailing list