Messages in this thread | | | Date | Tue, 20 Dec 2022 10:22:32 +0000 | Subject | Re: [PATCH 1/4] perf event: Add simd_flags field to perf_sample | From | James Clark <> |
| |
On 19/12/2022 18:21, Namhyung Kim wrote: > Hi James, > > On Mon, Dec 19, 2022 at 8:13 AM James Clark <james.clark@arm.com> wrote: >> >> From: German Gomez <german.gomez@arm.com> >> >> Add new field to the struct perf_sample to store flags related to SIMD >> ops. >> >> It will be used to store SIMD information from SVE and NEON when >> profiling using ARM SPE. >> >> Signed-off-by: German Gomez <german.gomez@arm.com> >> Signed-off-by: James Clark <james.clark@arm.com> >> --- >> tools/perf/util/sample.h | 13 +++++++++++++ >> 1 file changed, 13 insertions(+) >> >> diff --git a/tools/perf/util/sample.h b/tools/perf/util/sample.h >> index 60ec79d4eea4..bdf52faf165f 100644 >> --- a/tools/perf/util/sample.h >> +++ b/tools/perf/util/sample.h >> @@ -66,6 +66,18 @@ struct aux_sample { >> void *data; >> }; >> >> +struct simd_flags { >> + u64 arch:1, /* architecture (isa) */ >> + pred:2; /* predication */ > > Can we reserve more bits for possible future extension or > other arch support? It seems to be too tight for each field. > Do you plan to add more info to the struct in the future?
As far as I can see because this is userspace only, reserving bits doesn't be done ahead of time. When we need more bits we can just add it. It never gets written to a file either so there is no need for backwards compatibility.
> > Thanks, > Namhyung > > >> +}; >> + >> +/* simd architecture flags */ >> +#define SIMD_OP_FLAGS_ARCH_SVE 0x01 /* ARM SVE */ >> + >> +/* simd predicate flags */ >> +#define SIMD_OP_FLAGS_PRED_PARTIAL 0x01 /* partial predicate */ >> +#define SIMD_OP_FLAGS_PRED_EMPTY 0x02 /* empty predicate */ >> + >> struct perf_sample { >> u64 ip; >> u32 pid, tid; >> @@ -103,6 +115,7 @@ struct perf_sample { >> struct stack_dump user_stack; >> struct sample_read read; >> struct aux_sample aux_sample; >> + struct simd_flags simd_flags; >> }; >> >> /* >> -- >> 2.25.1 >>
| |