From: Mike Leach <mike.leach@linaro.org> To: suzuki.poulose@arm.com, coresight@lists.linaro.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Cc: mathieu.poirier@linaro.org, peterz@infradead.org, mingo@redhat.com, acme@kernel.org, linux-perf-users@vger.kernel.org, leo.yan@linaro.org, Mike Leach <mike.leach@linaro.org> Subject: [PATCH 07/10] perf: cs-etm: Update event to read trace ID from sysfs Date: Tue, 8 Mar 2022 20:49:57 +0000 [thread overview] Message-ID: <20220308205000.27646-8-mike.leach@linaro.org> (raw) In-Reply-To: <20220308205000.27646-1-mike.leach@linaro.org> Read the current trace ID values associated with a CPU from sysfs. Previously used the static association algorithm that is no longer used as it did not scale and was broken for larger core counts. Signed-off-by: Mike Leach <mike.leach@linaro.org> --- tools/perf/arch/arm/util/cs-etm.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/tools/perf/arch/arm/util/cs-etm.c b/tools/perf/arch/arm/util/cs-etm.c index 2e8b2c4365a0..f48087d07bcb 100644 --- a/tools/perf/arch/arm/util/cs-etm.c +++ b/tools/perf/arch/arm/util/cs-etm.c @@ -43,11 +43,13 @@ struct cs_etm_recording { }; static const char *metadata_etmv3_ro[CS_ETM_PRIV_MAX] = { + [CS_ETM_ETMTRACEIDR] = "traceid", [CS_ETM_ETMCCER] = "mgmt/etmccer", [CS_ETM_ETMIDR] = "mgmt/etmidr", }; static const char * const metadata_etmv4_ro[] = { + [CS_ETMV4_TRCTRACEIDR] = "mgmt/trctraceid", [CS_ETMV4_TRCIDR0] = "trcidr/trcidr0", [CS_ETMV4_TRCIDR1] = "trcidr/trcidr1", [CS_ETMV4_TRCIDR2] = "trcidr/trcidr2", @@ -629,8 +631,9 @@ static void cs_etm_save_etmv4_header(__u64 data[], struct auxtrace_record *itr, /* Get trace configuration register */ data[CS_ETMV4_TRCCONFIGR] = cs_etmv4_get_config(itr); - /* Get traceID from the framework */ - data[CS_ETMV4_TRCTRACEIDR] = coresight_get_trace_id(cpu); + /* Get traceID from the sysfs */ + data[CS_ETMV4_TRCTRACEIDR] = cs_etm_get_ro(cs_etm_pmu, cpu, + metadata_etmv4_ro[CS_ETMV4_TRCTRACEIDR]); /* Get read-only information from sysFS */ data[CS_ETMV4_TRCIDR0] = cs_etm_get_ro(cs_etm_pmu, cpu, metadata_etmv4_ro[CS_ETMV4_TRCIDR0]); @@ -677,9 +680,10 @@ static void cs_etm_get_metadata(int cpu, u32 *offset, magic = __perf_cs_etmv3_magic; /* Get configuration register */ info->priv[*offset + CS_ETM_ETMCR] = cs_etm_get_config(itr); - /* Get traceID from the framework */ + /* Get traceID from sysfs */ info->priv[*offset + CS_ETM_ETMTRACEIDR] = - coresight_get_trace_id(cpu); + cs_etm_get_ro(cs_etm_pmu, cpu, + metadata_etmv3_ro[CS_ETM_ETMTRACEIDR]); /* Get read-only information from sysFS */ info->priv[*offset + CS_ETM_ETMCCER] = cs_etm_get_ro(cs_etm_pmu, cpu, -- 2.17.1
WARNING: multiple messages have this Message-ID (diff)
From: Mike Leach <mike.leach@linaro.org> To: suzuki.poulose@arm.com, coresight@lists.linaro.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Cc: mathieu.poirier@linaro.org, peterz@infradead.org, mingo@redhat.com, acme@kernel.org, linux-perf-users@vger.kernel.org, leo.yan@linaro.org, Mike Leach <mike.leach@linaro.org> Subject: [PATCH 07/10] perf: cs-etm: Update event to read trace ID from sysfs Date: Tue, 8 Mar 2022 20:49:57 +0000 [thread overview] Message-ID: <20220308205000.27646-8-mike.leach@linaro.org> (raw) In-Reply-To: <20220308205000.27646-1-mike.leach@linaro.org> Read the current trace ID values associated with a CPU from sysfs. Previously used the static association algorithm that is no longer used as it did not scale and was broken for larger core counts. Signed-off-by: Mike Leach <mike.leach@linaro.org> --- tools/perf/arch/arm/util/cs-etm.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/tools/perf/arch/arm/util/cs-etm.c b/tools/perf/arch/arm/util/cs-etm.c index 2e8b2c4365a0..f48087d07bcb 100644 --- a/tools/perf/arch/arm/util/cs-etm.c +++ b/tools/perf/arch/arm/util/cs-etm.c @@ -43,11 +43,13 @@ struct cs_etm_recording { }; static const char *metadata_etmv3_ro[CS_ETM_PRIV_MAX] = { + [CS_ETM_ETMTRACEIDR] = "traceid", [CS_ETM_ETMCCER] = "mgmt/etmccer", [CS_ETM_ETMIDR] = "mgmt/etmidr", }; static const char * const metadata_etmv4_ro[] = { + [CS_ETMV4_TRCTRACEIDR] = "mgmt/trctraceid", [CS_ETMV4_TRCIDR0] = "trcidr/trcidr0", [CS_ETMV4_TRCIDR1] = "trcidr/trcidr1", [CS_ETMV4_TRCIDR2] = "trcidr/trcidr2", @@ -629,8 +631,9 @@ static void cs_etm_save_etmv4_header(__u64 data[], struct auxtrace_record *itr, /* Get trace configuration register */ data[CS_ETMV4_TRCCONFIGR] = cs_etmv4_get_config(itr); - /* Get traceID from the framework */ - data[CS_ETMV4_TRCTRACEIDR] = coresight_get_trace_id(cpu); + /* Get traceID from the sysfs */ + data[CS_ETMV4_TRCTRACEIDR] = cs_etm_get_ro(cs_etm_pmu, cpu, + metadata_etmv4_ro[CS_ETMV4_TRCTRACEIDR]); /* Get read-only information from sysFS */ data[CS_ETMV4_TRCIDR0] = cs_etm_get_ro(cs_etm_pmu, cpu, metadata_etmv4_ro[CS_ETMV4_TRCIDR0]); @@ -677,9 +680,10 @@ static void cs_etm_get_metadata(int cpu, u32 *offset, magic = __perf_cs_etmv3_magic; /* Get configuration register */ info->priv[*offset + CS_ETM_ETMCR] = cs_etm_get_config(itr); - /* Get traceID from the framework */ + /* Get traceID from sysfs */ info->priv[*offset + CS_ETM_ETMTRACEIDR] = - coresight_get_trace_id(cpu); + cs_etm_get_ro(cs_etm_pmu, cpu, + metadata_etmv3_ro[CS_ETM_ETMTRACEIDR]); /* Get read-only information from sysFS */ info->priv[*offset + CS_ETM_ETMCCER] = cs_etm_get_ro(cs_etm_pmu, cpu, -- 2.17.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2022-03-08 20:50 UTC|newest] Thread overview: 70+ messages / expand[flat|nested] mbox.gz Atom feed top 2022-03-08 20:49 [PATCH 00/10] coresight: Add new API to allocate trace source ID values Mike Leach 2022-03-08 20:49 ` Mike Leach 2022-03-08 20:49 ` [PATCH 01/10] coresight: trace-id: Add API to dynamically assign trace " Mike Leach 2022-03-08 20:49 ` Mike Leach 2022-04-05 17:02 ` Mathieu Poirier 2022-04-05 17:02 ` Mathieu Poirier 2022-04-06 19:45 ` Mike Leach 2022-04-06 19:45 ` Mike Leach 2022-04-07 18:08 ` Mathieu Poirier 2022-04-07 18:08 ` Mathieu Poirier 2022-04-08 13:28 ` Mike Leach 2022-04-08 13:28 ` Mike Leach 2022-03-08 20:49 ` [PATCH 02/10] coresight: trace-id: Set up source trace ID map for system Mike Leach 2022-03-08 20:49 ` Mike Leach 2022-03-08 20:49 ` [PATCH 03/10] coresight: stm: Update STM driver to use Trace ID api Mike Leach 2022-03-08 20:49 ` Mike Leach 2022-03-08 20:49 ` [PATCH 04/10] coresight: etm4x: Use trace ID API to dynamically allocate trace ID Mike Leach 2022-03-08 20:49 ` Mike Leach 2022-04-05 17:25 ` Mathieu Poirier 2022-04-05 17:25 ` Mathieu Poirier 2022-03-08 20:49 ` [PATCH 05/10] coresight: etm3x: Use trace ID API to allocate IDs Mike Leach 2022-03-08 20:49 ` Mike Leach 2022-04-05 17:22 ` Mathieu Poirier 2022-04-05 17:22 ` Mathieu Poirier 2022-04-06 19:47 ` Mike Leach 2022-04-06 19:47 ` Mike Leach 2022-03-08 20:49 ` [PATCH 06/10] coresight: perf: traceid: Add perf notifiers for trace ID Mike Leach 2022-03-08 20:49 ` Mike Leach 2022-04-06 17:11 ` Mathieu Poirier 2022-04-06 17:11 ` Mathieu Poirier 2022-04-06 19:38 ` Mike Leach 2022-04-06 19:38 ` Mike Leach 2022-04-07 17:46 ` Mathieu Poirier 2022-04-07 17:46 ` Mathieu Poirier 2022-03-08 20:49 ` Mike Leach [this message] 2022-03-08 20:49 ` [PATCH 07/10] perf: cs-etm: Update event to read trace ID from sysfs Mike Leach 2022-03-08 20:49 ` [PATCH 08/10] coresight: Remove legacy Trace ID allocation mechanism Mike Leach 2022-03-08 20:49 ` Mike Leach 2022-05-17 3:56 ` liuqi (BA) 2022-05-17 3:56 ` liuqi (BA) 2022-05-18 9:07 ` Mike Leach 2022-05-18 9:07 ` Mike Leach 2022-03-08 20:49 ` [PATCH 09/10] coresight: etmX.X: stm: Remove unused legacy source trace ID ops Mike Leach 2022-03-08 20:49 ` Mike Leach 2022-03-08 20:50 ` [PATCH 10/10] coresight: trace-id: Add debug & test macros to trace id allocation Mike Leach 2022-03-08 20:50 ` Mike Leach 2022-03-22 10:43 ` [PATCH 00/10] coresight: Add new API to allocate trace source ID values Suzuki Kuruppassery Poulose 2022-03-22 10:43 ` Suzuki Kuruppassery Poulose 2022-03-22 11:38 ` Mike Leach 2022-03-22 11:38 ` Mike Leach 2022-03-22 12:35 ` Suzuki Kuruppassery Poulose 2022-03-22 12:35 ` Suzuki Kuruppassery Poulose 2022-03-22 14:27 ` Mike Leach 2022-03-22 14:27 ` Mike Leach 2022-03-22 18:52 ` Suzuki K Poulose 2022-03-22 18:52 ` Suzuki K Poulose 2022-03-23 10:07 ` Mike Leach 2022-03-23 10:07 ` Mike Leach 2022-03-23 10:35 ` Al Grant 2022-03-23 10:35 ` Al Grant 2022-03-23 11:05 ` Mike Leach 2022-03-23 11:05 ` Mike Leach 2022-03-23 10:41 ` Suzuki Kuruppassery Poulose 2022-03-23 10:41 ` Suzuki Kuruppassery Poulose 2022-03-23 11:35 ` Mike Leach 2022-03-23 11:35 ` Mike Leach 2022-03-23 12:08 ` Suzuki Kuruppassery Poulose 2022-03-23 12:08 ` Suzuki Kuruppassery Poulose 2022-04-04 16:15 ` Mathieu Poirier 2022-04-04 16:15 ` Mathieu Poirier
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20220308205000.27646-8-mike.leach@linaro.org \ --to=mike.leach@linaro.org \ --cc=acme@kernel.org \ --cc=coresight@lists.linaro.org \ --cc=leo.yan@linaro.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-perf-users@vger.kernel.org \ --cc=mathieu.poirier@linaro.org \ --cc=mingo@redhat.com \ --cc=peterz@infradead.org \ --cc=suzuki.poulose@arm.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.