Re: [RFC 00/11] perf: Enhancing perf to export processor hazard information
From: Michael Ellerman <mpe@ellerman.id.au>
Date: 2020-03-19 11:22:08
Also in:
lkml
Kim Phillips [off-list ref] writes:
On 3/17/20 1:50 AM, maddy wrote:quoted
On 3/13/20 4:08 AM, Kim Phillips wrote:quoted
On 3/11/20 11:00 AM, Ravi Bangoria wrote:quoted
information on each sample using PMI at periodic intervals. Hence proposing PERF_SAMPLE_PIPELINE_HAZ.And that's fine for any extra bits that POWER9 has to convey to its users beyond things already represented by other sample types like PERF_SAMPLE_DATA_SRC, but the capturing of both POWER9 and other vendor e.g., AMD IBS data can be made vendor-independent at record time by using SAMPLE_AUX, or SAMPLE_RAW even, which is what IBS currently uses.My bad. Not sure what you mean by this. We are trying to abstract as much vendor specific data as possible with this (like perf-mem).Perhaps if I say it this way: instead of doing all the isa207_get_phazard_data() work past the mfspr(SPRN_SIER) in patch 4/11, rather/instead just put the raw sier value in a PERF_SAMPLE_RAW or _AUX event, and call perf_event_update_userpage. Specific SIER capabilities can be written as part of the perf.data header. Then synthesize the true pipe events from the raw SIER values later, and in userspace.
In the past the perf maintainers have wanted the perf API to abstract over the specific CPU details, rather than just pushing raw register values out to userspace. But maybe that's no longer the case and we should just use PERF_SAMPLE_AUX? cheers