[Skiboot] [RFC 0/3] phb4/capp: Provide user tunable for STQ/DMA engine allocation

Vaibhav Jain vaibhav at linux.ibm.com
Sun Sep 9 21:41:37 AEST 2018

When CAPP is initialized on request of CXL, opal reserves certain number
of PEC STQ/DMA engines needed for communication with the PSL/XSL on the card.
Since this allocation comes from the shared pool of PEC resources, it will have
an impact on the performance of a CAPI or PCI throughput.

Presently this allocation is statically defined in skiboot with CAPP init code
only taking into account the link width. However since different cards will
have will different workload properties hence it might be prudent to let user
tune these values to get an optimal performance for their CAPI workload.

Hence this patchset proposes a new scheme called 'capp attribute overrides'
that lets user set a nvram config to override the the number of DMA/STQ engines
opal reserves for CAPP. The nvram config is defined following a certain
convention to address multiple CAPPs present in the system.

The first patch "capp: Add ability to fetch CAPP attribute override values"
implements infrastructure in skiboot to search for an attribute override for
given CAPP in nvram. The subsequent two patches use this infrastructure to
implement override for number of STQ/DMA engines allocates to CAPP.

Vaibhav Jain (3):
  capp: Add ability to fetch CAPP attribute override values from nvram
  phb4/capp: Introduce 'stq-buffers' capp attribute override
  phb4/capp: Introduce 'dma-engines' capp attribute override

 hw/capp.c      |  50 +++++++++++++++++++++
 hw/phb4.c      | 118 ++++++++++++++++++++++++-------------------------
 include/capp.h |   2 +
 3 files changed, 110 insertions(+), 60 deletions(-)


More information about the Skiboot mailing list