Message ID | 20211109115020.31623-4-german.gomez@arm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | perf arm-spe: Track pid/tid for Arm SPE samples | expand |
Hello, On Tue, Nov 9, 2021 at 3:50 AM German Gomez <german.gomez@arm.com> wrote: > > This patch is to save context ID in record, this will be used to set TID > for samples. > > Signed-off-by: German Gomez <german.gomez@arm.com> > Reviewed-by: Leo Yan <leo.yan@linaro.org> Acked-by: Namhyung Kim <namhyung@kernel.org> Thanks, Namhyung > --- > tools/perf/util/arm-spe-decoder/arm-spe-decoder.c | 2 ++ > tools/perf/util/arm-spe-decoder/arm-spe-decoder.h | 1 + > 2 files changed, 3 insertions(+) > > diff --git a/tools/perf/util/arm-spe-decoder/arm-spe-decoder.c b/tools/perf/util/arm-spe-decoder/arm-spe-decoder.c > index 32fe41835..3fc528c92 100644 > --- a/tools/perf/util/arm-spe-decoder/arm-spe-decoder.c > +++ b/tools/perf/util/arm-spe-decoder/arm-spe-decoder.c > @@ -151,6 +151,7 @@ static int arm_spe_read_record(struct arm_spe_decoder *decoder) > u64 payload, ip; > > memset(&decoder->record, 0x0, sizeof(decoder->record)); > + decoder->record.context_id = (u64)-1; > > while (1) { > err = arm_spe_get_next_packet(decoder); > @@ -180,6 +181,7 @@ static int arm_spe_read_record(struct arm_spe_decoder *decoder) > case ARM_SPE_COUNTER: > break; > case ARM_SPE_CONTEXT: > + decoder->record.context_id = payload; > break; > case ARM_SPE_OP_TYPE: > if (idx == SPE_OP_PKT_HDR_CLASS_LD_ST_ATOMIC) { > diff --git a/tools/perf/util/arm-spe-decoder/arm-spe-decoder.h b/tools/perf/util/arm-spe-decoder/arm-spe-decoder.h > index 59bdb7309..46a8556a9 100644 > --- a/tools/perf/util/arm-spe-decoder/arm-spe-decoder.h > +++ b/tools/perf/util/arm-spe-decoder/arm-spe-decoder.h > @@ -38,6 +38,7 @@ struct arm_spe_record { > u64 timestamp; > u64 virt_addr; > u64 phys_addr; > + u64 context_id; > }; > > struct arm_spe_insn; > -- > 2.25.1 >
diff --git a/tools/perf/util/arm-spe-decoder/arm-spe-decoder.c b/tools/perf/util/arm-spe-decoder/arm-spe-decoder.c index 32fe41835..3fc528c92 100644 --- a/tools/perf/util/arm-spe-decoder/arm-spe-decoder.c +++ b/tools/perf/util/arm-spe-decoder/arm-spe-decoder.c @@ -151,6 +151,7 @@ static int arm_spe_read_record(struct arm_spe_decoder *decoder) u64 payload, ip; memset(&decoder->record, 0x0, sizeof(decoder->record)); + decoder->record.context_id = (u64)-1; while (1) { err = arm_spe_get_next_packet(decoder); @@ -180,6 +181,7 @@ static int arm_spe_read_record(struct arm_spe_decoder *decoder) case ARM_SPE_COUNTER: break; case ARM_SPE_CONTEXT: + decoder->record.context_id = payload; break; case ARM_SPE_OP_TYPE: if (idx == SPE_OP_PKT_HDR_CLASS_LD_ST_ATOMIC) { diff --git a/tools/perf/util/arm-spe-decoder/arm-spe-decoder.h b/tools/perf/util/arm-spe-decoder/arm-spe-decoder.h index 59bdb7309..46a8556a9 100644 --- a/tools/perf/util/arm-spe-decoder/arm-spe-decoder.h +++ b/tools/perf/util/arm-spe-decoder/arm-spe-decoder.h @@ -38,6 +38,7 @@ struct arm_spe_record { u64 timestamp; u64 virt_addr; u64 phys_addr; + u64 context_id; }; struct arm_spe_insn;