Bug 1622702

Summary: Add ThunderX2 SoC Performance Monitoring Unit driver
Product: Red Hat Enterprise Linux 7 Reporter: Kevin Pedretti <ktpedre>
Component: kernel-aarch64Assignee: Jiri Olsa <jolsa>
kernel-aarch64 sub component: Perf QA Contact: Michael Petlan <mpetlan>
Status: CLOSED NOTABUG Docs Contact:
Severity: urgent    
Priority: unspecified CC: acme, mcermak, mlangsdo, nmurray, toneata
Version: 7.5Keywords: FutureFeature
Target Milestone: rc   
Target Release: ---   
Hardware: aarch64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-11-16 10:06:04 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Kevin Pedretti 2018-08-27 18:48:51 UTC
Description of problem:



The RHEL 7.5 kernel currently does not include support for the Cavium ThunderX2 processor's SoC performance counters.  We need access to these counters and request that the following set of patches be ported to the RHEL Linux kernel:

  * Lkml thread: https://lkml.org/lkml/2018/6/21/35
  * 4.17 onwards: https://patchwork.kernel.org/patch/10479191/
  * 4.16 backport: https://github.com/cavium/thunderx-linux/commits/thunder-4.16-drop4

HPE has made this request separately, BZ#1622200


Version-Release number of selected component (if applicable):
RHEL 7.5 Linux kernel

How reproducible:
This test requires RHEL7.5 running on a Cavium ThunderX2 server.  Use perf to measure the aggregate bytes moved to and from main memory using the Cavium ThunderX2 memory controller's counters.  Example perf command is listed below. 

Steps to Reproduce:
1. perf stat -e dmc/read_64b_txns/,dmc/write_txns/ <program>


Actual results:
invalid or unsupported event: 'dmc/read_64b_txns/,dmc/write_txns/'

Expected results:
Success, a count of the total bytes moved to and from main memory.  Combined with a time measurement, this can be used to calculate the actual memory bandwidth achieved.

Additional info:
This feature is needed for the upcoming Arm-based Astra supercomputer to be installed at Sandia National Laboratories in September 2018.  The POR is to run RHEL7.5 on this system, but support for these performance counters are needed.