[Skiboot] [PATCH 0/4] simulator SMP boot speedups

Nicholas Piggin npiggin at gmail.com
Mon May 22 15:52:59 AEST 2017


Hi,

This is a first pass at splitting out the boot speedups patch
I sent earlier. It boots Linux to userspace with 2c16t POWER8
simulated machine in about 12 seconds versus 45 seconds without
the patches.

The simulator doesn't like spinning for the timebase or polling
for a condition at a high SMT priority, which causes cycles to
be spent on useless work which hurts a lot more than on real
hardware.

This is probably not for merge yet (needs more testing on different
machines first), but comments would be appreciated.

Thanks,
Nick


Nicholas Piggin (4):
  cpu: Introduce smt_lowest()
  Improve cpu_idle when PM is disabled
  Convert important polling loops to spin at lowest SMT priority
  Run change_all_hile in parallel on all CPUs

 asm/head.S          |  6 ++--
 core/cpu.c          | 84 ++++++++++++++++++++++++++++++++++++++++++-----------
 core/fast-reboot.c  |  6 ++--
 core/hmi.c          |  4 ++-
 core/init.c         |  4 +--
 core/lock.c         |  5 +++-
 core/timebase.c     | 28 +++++-------------
 core/timer.c        |  5 +++-
 hw/lpc-uart.c       | 10 +++++--
 include/cpu.h       | 11 ++-----
 include/processor.h |  2 ++
 11 files changed, 106 insertions(+), 59 deletions(-)

-- 
2.11.0



More information about the Skiboot mailing list