[Zesty][PATCH v4 00/13] POWER9 XIVE: msgsnd/doorbell IPI support(backport)

Gustavo Walbon gwalbon at linux.vnet.ibm.com
Mon May 29 14:54:26 UTC 2017


BugLink: http://bugs.launchpad.net/bugs/1691973

The backport was requested for 16.04.3 HWE to be enabled the XIVE 
feature on the POWER9 systems.

The tests were done using the Sysbench for CPU,fileIO and Threads tests, 
and the FIO tester to write directly on disk without buffering. All
 tests were performed in order to stress the machine using its 32 
threads of CPUs for 12 hr.

The commits below were cherry-pick to enable XIVE features.

The fixing from Michael Ellerman which it solved the kernel 
crash while the starting boot of the machine.

Changelog:
v3: Fixes wrong links for the launchpad and commit references to linus
 tree, thanks Seth.
v4: Fixes wrong references and cover letter message, thanks Mauricio.

Benjamin Herrenschmidt (5):
  powerpc/xive: Native exploitation of the XIVE interrupt controller
  powerpc: Add optional smp_ops->prepare_cpu SMP callback
  powerpc: Add more PPC bit conversion macros
  powerpc/powernv: Add XIVE related definitions to opal-api.h
  powerpc/smp: Remove migrate_irq() custom implementation

Douglas Miller (1):
  powerpc/xmon: Dump memory in CPU endian format

Michael Ellerman (1):
  powerpc/powernv: Fix oops on P9 DD1 in cause_ipi()

Nicholas Piggin (6):
  powerpc/64s: Add msgp facility unavailable log string
  powerpc/64s: Add SCV FSCR bit for ISA v3.0
  powerpc: Change the doorbell IPI calling convention
  powerpc: Introduce msgsnd/doorbell barrier primitives
  powerpc/64s: Avoid a branch for ppc_msgsnd
  powerpc/powernv: POWER9 support for msgsnd/doorbell IPI

 arch/powerpc/include/asm/bitops.h              |    8 +
 arch/powerpc/include/asm/dbell.h               |   40 +-
 arch/powerpc/include/asm/opal-api.h            |   74 +-
 arch/powerpc/include/asm/opal.h                |   36 +
 arch/powerpc/include/asm/ppc-opcode.h          |    2 +
 arch/powerpc/include/asm/reg.h                 |    2 +
 arch/powerpc/include/asm/smp.h                 |    6 +-
 arch/powerpc/include/asm/xics.h                |    2 +-
 arch/powerpc/include/asm/xive-regs.h           |   97 ++
 arch/powerpc/include/asm/xive.h                |  163 +++
 arch/powerpc/include/asm/xmon.h                |    2 +
 arch/powerpc/kernel/dbell.c                    |   58 +-
 arch/powerpc/kernel/irq.c                      |   40 -
 arch/powerpc/kernel/smp.c                      |   46 +-
 arch/powerpc/kernel/traps.c                    |    2 +
 arch/powerpc/kvm/book3s_hv_builtin.c           |    8 +
 arch/powerpc/platforms/85xx/smp.c              |   11 +-
 arch/powerpc/platforms/Kconfig.cputype         |    1 +
 arch/powerpc/platforms/powermac/smp.c          |    2 +-
 arch/powerpc/platforms/powernv/Kconfig         |    1 +
 arch/powerpc/platforms/powernv/opal-wrappers.S |   15 +
 arch/powerpc/platforms/powernv/setup.c         |   15 +-
 arch/powerpc/platforms/powernv/smp.c           |   88 +-
 arch/powerpc/platforms/pseries/smp.c           |   27 +-
 arch/powerpc/sysdev/Kconfig                    |    1 +
 arch/powerpc/sysdev/Makefile                   |    1 +
 arch/powerpc/sysdev/xics/icp-hv.c              |    2 +-
 arch/powerpc/sysdev/xics/icp-native.c          |   12 +-
 arch/powerpc/sysdev/xics/icp-opal.c            |    2 +-
 arch/powerpc/sysdev/xics/xics-common.c         |    6 +-
 arch/powerpc/sysdev/xive/Kconfig               |   11 +
 arch/powerpc/sysdev/xive/Makefile              |    4 +
 arch/powerpc/sysdev/xive/common.c              | 1302 ++++++++++++++++++++++++
 arch/powerpc/sysdev/xive/native.c              |  639 ++++++++++++
 arch/powerpc/sysdev/xive/xive-internal.h       |   62 ++
 arch/powerpc/xmon/xmon.c                       |  152 ++-
 36 files changed, 2799 insertions(+), 141 deletions(-)
 create mode 100644 arch/powerpc/include/asm/xive-regs.h
 create mode 100644 arch/powerpc/include/asm/xive.h
 create mode 100644 arch/powerpc/sysdev/xive/Kconfig
 create mode 100644 arch/powerpc/sysdev/xive/Makefile
 create mode 100644 arch/powerpc/sysdev/xive/common.c
 create mode 100644 arch/powerpc/sysdev/xive/native.c
 create mode 100644 arch/powerpc/sysdev/xive/xive-internal.h

-- 
2.9.4





More information about the kernel-team mailing list