[PATCH 0/4] perf arm-spe: Improve --itrace options

James Clark posted 4 patches 1 day, 9 hours ago
tools/perf/Documentation/perf-arm-spe.txt | 14 +++++---
tools/perf/util/arm-spe.c                 | 53 ++++++++++++++++---------------
2 files changed, 37 insertions(+), 30 deletions(-)
[PATCH 0/4] perf arm-spe: Improve --itrace options
Posted by James Clark 1 day, 9 hours ago
Most people also want all the SPE samples (instructions group), not just
the flagged samples that are put into the various memory groups. These
should have been shown by default but weren't because the default
interval type wasn't supported.

Also when looking at this, it appears that the downsampling was behaving
in a way that would discard samples from one group but not another.
Improve that and the warning messages.

I don't want to put fixes tags on these because it's only changing the
defaults and the behavior, but I don't think the previous behavior was
incorrect necessarily, just copied from tracing techs but not ideal for
SPE.

Signed-off-by: James Clark <james.clark@linaro.org>
---
James Clark (4):
      perf arm-spe: Show instruction sample types by default
      perf arm-spe: Downsample all sample types equally
      perf arm-spe: Display --itrace period warnings for all sample types
      perf docs: Update SPE doc to include default instructions group

 tools/perf/Documentation/perf-arm-spe.txt | 14 +++++---
 tools/perf/util/arm-spe.c                 | 53 ++++++++++++++++---------------
 2 files changed, 37 insertions(+), 30 deletions(-)
---
base-commit: 75a7b9d29215c5aa813b9620f3c56817918f9f8c
change-id: 20250908-james-perf-spe-period-4711a566cba4

Best regards,
-- 
James Clark <james.clark@linaro.org>
Re: [PATCH 0/4] perf arm-spe: Improve --itrace options
Posted by Leo Yan 10 hours ago
On Mon, Sep 08, 2025 at 01:10:17PM +0100, James Clark wrote:
> Most people also want all the SPE samples (instructions group), not just
> the flagged samples that are put into the various memory groups. These
> should have been shown by default but weren't because the default
> interval type wasn't supported.
> 
> Also when looking at this, it appears that the downsampling was behaving
> in a way that would discard samples from one group but not another.
> Improve that and the warning messages.
> 
> I don't want to put fixes tags on these because it's only changing the
> defaults and the behavior, but I don't think the previous behavior was
> incorrect necessarily, just copied from tracing techs but not ideal for
> SPE.
> 
> Signed-off-by: James Clark <james.clark@linaro.org>

I ran the commands below, and the results are good for me.

  ./perf report
  ./perf report --itrace=i100i
  ./perf report --itrace=i100iM
  ./perf report --itrace=i100ib
  ./perf report --itrace=i100ibM

Tested-by: Leo Yan <leo.yan@arm.com>
Re: [PATCH 0/4] perf arm-spe: Improve --itrace options
Posted by Arnaldo Carvalho de Melo 23 hours ago
On Mon, Sep 08, 2025 at 01:10:17PM +0100, James Clark wrote:
> Most people also want all the SPE samples (instructions group), not just
> the flagged samples that are put into the various memory groups. These
> should have been shown by default but weren't because the default
> interval type wasn't supported.
> 
> Also when looking at this, it appears that the downsampling was behaving
> in a way that would discard samples from one group but not another.
> Improve that and the warning messages.
> 
> I don't want to put fixes tags on these because it's only changing the
> defaults and the behavior, but I don't think the previous behavior was
> incorrect necessarily, just copied from tracing techs but not ideal for
> SPE.

I keep trying to find some hardware to have in my homelab to test these
series, but till then I depend on people having access to such hardware
for acks or better, tested-by, so waiting a bit for those to appear.

- Arnaldo
 
> Signed-off-by: James Clark <james.clark@linaro.org>
> ---
> James Clark (4):
>       perf arm-spe: Show instruction sample types by default
>       perf arm-spe: Downsample all sample types equally
>       perf arm-spe: Display --itrace period warnings for all sample types
>       perf docs: Update SPE doc to include default instructions group
> 
>  tools/perf/Documentation/perf-arm-spe.txt | 14 +++++---
>  tools/perf/util/arm-spe.c                 | 53 ++++++++++++++++---------------
>  2 files changed, 37 insertions(+), 30 deletions(-)
> ---
> base-commit: 75a7b9d29215c5aa813b9620f3c56817918f9f8c
> change-id: 20250908-james-perf-spe-period-4711a566cba4
> 
> Best regards,
> -- 
> James Clark <james.clark@linaro.org>
>
Re: [PATCH 0/4] perf arm-spe: Improve --itrace options
Posted by James Clark 11 hours ago

On 08/09/2025 10:16 pm, Arnaldo Carvalho de Melo wrote:
> On Mon, Sep 08, 2025 at 01:10:17PM +0100, James Clark wrote:
>> Most people also want all the SPE samples (instructions group), not just
>> the flagged samples that are put into the various memory groups. These
>> should have been shown by default but weren't because the default
>> interval type wasn't supported.
>>
>> Also when looking at this, it appears that the downsampling was behaving
>> in a way that would discard samples from one group but not another.
>> Improve that and the warning messages.
>>
>> I don't want to put fixes tags on these because it's only changing the
>> defaults and the behavior, but I don't think the previous behavior was
>> incorrect necessarily, just copied from tracing techs but not ideal for
>> SPE.
> 
> I keep trying to find some hardware to have in my homelab to test these
> series, but till then I depend on people having access to such hardware
> for acks or better, tested-by, so waiting a bit for those to appear.
> 
> - Arnaldo
>   

Unfortunately I don't have any good homelab suggestions. Radxa Orion O6 
are the only not-super-expensive boards that have it, but it's not 
currently working due to some ACPI issue. AWS Gravitons also have it, 
but you currently need a metal instance so that's expensive too.

Leo should be able to have a look at this one until the hardware 
trickles down further.

Thanks
James

>> Signed-off-by: James Clark <james.clark@linaro.org>
>> ---
>> James Clark (4):
>>        perf arm-spe: Show instruction sample types by default
>>        perf arm-spe: Downsample all sample types equally
>>        perf arm-spe: Display --itrace period warnings for all sample types
>>        perf docs: Update SPE doc to include default instructions group
>>
>>   tools/perf/Documentation/perf-arm-spe.txt | 14 +++++---
>>   tools/perf/util/arm-spe.c                 | 53 ++++++++++++++++---------------
>>   2 files changed, 37 insertions(+), 30 deletions(-)
>> ---
>> base-commit: 75a7b9d29215c5aa813b9620f3c56817918f9f8c
>> change-id: 20250908-james-perf-spe-period-4711a566cba4
>>
>> Best regards,
>> -- 
>> James Clark <james.clark@linaro.org>
>>
Re: [PATCH 0/4] perf arm-spe: Improve --itrace options
Posted by James Clark 8 hours ago

On 09/09/2025 10:51 am, James Clark wrote:
> 
> 
> On 08/09/2025 10:16 pm, Arnaldo Carvalho de Melo wrote:
>> On Mon, Sep 08, 2025 at 01:10:17PM +0100, James Clark wrote:
>>> Most people also want all the SPE samples (instructions group), not just
>>> the flagged samples that are put into the various memory groups. These
>>> should have been shown by default but weren't because the default
>>> interval type wasn't supported.
>>>
>>> Also when looking at this, it appears that the downsampling was behaving
>>> in a way that would discard samples from one group but not another.
>>> Improve that and the warning messages.
>>>
>>> I don't want to put fixes tags on these because it's only changing the
>>> defaults and the behavior, but I don't think the previous behavior was
>>> incorrect necessarily, just copied from tracing techs but not ideal for
>>> SPE.
>>
>> I keep trying to find some hardware to have in my homelab to test these
>> series, but till then I depend on people having access to such hardware
>> for acks or better, tested-by, so waiting a bit for those to appear.
>>
>> - Arnaldo
> 
> Unfortunately I don't have any good homelab suggestions. Radxa Orion O6 
> are the only not-super-expensive boards that have it, but it's not 
> currently working due to some ACPI issue. AWS Gravitons also have it, 
> but you currently need a metal instance so that's expensive too.
> 
> Leo should be able to have a look at this one until the hardware 
> trickles down further.
> 
> Thanks
> James
> 

Forgot to mention that everything is available on the FVP model, but 
unless the tests are specifically written to run there, they're too 
slow. The BRBE branch stack test has been, but SPE and Coresight tests 
haven't. So not very useful either unfortunately.

>>> Signed-off-by: James Clark <james.clark@linaro.org>
>>> ---
>>> James Clark (4):
>>>        perf arm-spe: Show instruction sample types by default
>>>        perf arm-spe: Downsample all sample types equally
>>>        perf arm-spe: Display --itrace period warnings for all sample 
>>> types
>>>        perf docs: Update SPE doc to include default instructions group
>>>
>>>   tools/perf/Documentation/perf-arm-spe.txt | 14 +++++---
>>>   tools/perf/util/arm-spe.c                 | 53 +++++++++++++++ 
>>> +---------------
>>>   2 files changed, 37 insertions(+), 30 deletions(-)
>>> ---
>>> base-commit: 75a7b9d29215c5aa813b9620f3c56817918f9f8c
>>> change-id: 20250908-james-perf-spe-period-4711a566cba4
>>>
>>> Best regards,
>>> -- 
>>> James Clark <james.clark@linaro.org>
>>>
>