[PATCH 00/11] powerpc/xive: Improve diagnostic and activate StoreEOI on P10 PowerNV

Cédric Le Goater clg at kaod.org
Fri Nov 5 21:26:25 AEDT 2021


Hello,

This series tries to improve diagnostic support in the XIVE driver. It
adds pr_debug() primitives that can be activated at run-time and changes
the debugfs xive entry to expose more information :

  /sys/kernel/debug/powerpc/xive/
    ├── eqs/
    │   ├── cpu0
    │   ├── cpu1
    │   ├── cpu2
    .   .
    │   └── cpu99
    ├── interrupts
    ├── ipis
    ├── save-restore
    └── store-eoi

It also introduces 2 new kernel parameters :

    xive.store-eoi=off   to deactivate StoreEOI at boot but it still be
    			 reactivated through sysfs.
			 
    doorbell=off         to deactivate doorbells for CPU IPIs
                         and XIVE instead

The first is a workaround in case of a FW advertising the wrong
feature. It can be used to check performance also. The second is for
PowerVM development and tests when the LP-per-thread mode is
activated. Doorbells cannot be used in that case.

Finally, it activates StoreEOI support for the PowerNV platform. OPAL
for P10 has been released and we are free to use this extension.

Thanks,

C.


Cédric Le Goater (11):
  powerpc/xive: Replace pr_devel() by pr_debug() to ease debug
  powerpc/xive: Introduce an helper to print out interrupt
    characteristics
  powerpc/xive: Activate StoreEOI on P10
  powerpc/xive: Introduce xive_core_debugfs_create()
  powerpc/xive: Change the debugfs file 'xive' into a directory
  powerpc/xive: Rename the 'cpus' debugfs file to 'ipis'
  powerpc/xive: Add a debugfs file to dump EQs
  powerpc/xive: Add a debugfs toggle for StoreEOI
  powerpc/xive: Add a kernel parameter for StoreEOI
  powerpc/xive: Add a debugfs toggle for save-restore
  powerpc/smp: Add a doorbell=off kernel parameter

 arch/powerpc/include/asm/dbell.h              |   1 +
 arch/powerpc/include/asm/opal-api.h           |   1 +
 arch/powerpc/sysdev/xive/xive-internal.h      |   1 +
 arch/powerpc/kernel/dbell.c                   |  17 ++
 arch/powerpc/platforms/powernv/smp.c          |   7 +-
 arch/powerpc/platforms/pseries/smp.c          |   3 +
 arch/powerpc/sysdev/xive/common.c             | 211 ++++++++++++------
 arch/powerpc/sysdev/xive/native.c             |   4 +-
 arch/powerpc/sysdev/xive/spapr.c              |  38 ++--
 .../admin-guide/kernel-parameters.txt         |  16 ++
 10 files changed, 209 insertions(+), 90 deletions(-)

-- 
2.31.1



More information about the Linuxppc-dev mailing list