Hi James, On Thu, Apr 15, 2021 at 05:13:36PM +0300, James Clark wrote: > On 12/04/2021 12:10, Leo Yan wrote: > > The enum value 'ARM_SPE_PER_CPU_MMAPS' is never used so remove it. > > Hi Leo, > > I think this causes an error when attempting to open a newly recorded file > with an old version of perf. The value ARM_SPE_AUXTRACE_PRIV_MAX is used here: > > size_t min_sz = sizeof(u64) * ARM_SPE_AUXTRACE_PRIV_MAX; > struct perf_record_time_conv *tc = &session->time_conv; > struct arm_spe *spe; > int err; > > if (auxtrace_info->header.size < sizeof(struct > perf_record_auxtrace_info) + > min_sz) > return -EINVAL; > > And removing ARM_SPE_PER_CPU_MMAPS changes the value of > ARM_SPE_AUXTRACE_PRIV_MAX. > > At least I think that's what's causing the problem. I get this error: > > ./perf report -i per-thread-spe-time.data > 0x1c0 [0x18]: failed to process type: 70 [Invalid argument] > Error: > failed to process sample > # To display the perf.data header info, please use > --header/--header-only options. > #
Yes, when working on this patch I had concern as well. I carefully thought that the perf tool should be backwards-compatible, but there have no requirement for forwards-compatibility. This is the main reason why I kept this patch. If you or anyone could confirm the forwards-compatibility is required, it's quite fine for me to drop this patch. Thanks a lot for the reviewing and testing! Leo