[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1c9e4aa4-a619-0614-54ef-0ac77117759d@arm.com>
Date: Tue, 19 Jul 2022 22:49:54 +0100
From: Suzuki K Poulose <suzuki.poulose@....com>
To: Mike Leach <mike.leach@...aro.org>, coresight@...ts.linaro.org,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org
Cc: mathieu.poirier@...aro.org, peterz@...radead.org, mingo@...hat.com,
acme@...nel.org, linux-perf-users@...r.kernel.org,
leo.yan@...aro.org, quic_jinlmao@...cinc.com
Subject: Re: [PATCH v2 07/13] coresight: perf: traceid: Add perf notifiers for
Trace ID
Hi Mike,
On 04/07/2022 09:11, Mike Leach wrote:
> Adds in notifier calls to the trace ID allocator that perf
> events are starting and stopping.
>
> This ensures that Trace IDs associated with CPUs remain the same
> throughout the perf session, and are only released when all perf
> sessions are complete.
The patch looks fine to me. I think it would be good to add the
definition of coresight_trace_id_perf_{stop,start}() in this patch.
>
> Signed-off-by: Mike Leach <mike.leach@...aro.org>
> ---
> drivers/hwtracing/coresight/coresight-etm-perf.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/drivers/hwtracing/coresight/coresight-etm-perf.c b/drivers/hwtracing/coresight/coresight-etm-perf.c
> index c039b6ae206f..ad3fdc07c60b 100644
> --- a/drivers/hwtracing/coresight/coresight-etm-perf.c
> +++ b/drivers/hwtracing/coresight/coresight-etm-perf.c
> @@ -22,6 +22,7 @@
> #include "coresight-etm-perf.h"
> #include "coresight-priv.h"
> #include "coresight-syscfg.h"
> +#include "coresight-trace-id.h"
>
> static struct pmu etm_pmu;
> static bool etm_perf_up;
> @@ -228,6 +229,9 @@ static void free_event_data(struct work_struct *work)
> *ppath = NULL;
> }
>
> + /* mark perf event as done for trace id allocator */
> + coresight_trace_id_perf_stop();
> +
> free_percpu(event_data->path);
> kfree(event_data);
> }
> @@ -314,6 +318,9 @@ static void *etm_setup_aux(struct perf_event *event, void **pages,
> sink = user_sink = coresight_get_sink_by_id(id);
> }
>
> + /* tell the trace ID allocator that a perf event is starting up */
> + coresight_trace_id_perf_start();
> +
> /* check if user wants a coresight configuration selected */
> cfg_hash = (u32)((event->attr.config2 & GENMASK_ULL(63, 32)) >> 32);
> if (cfg_hash) {
Suzuki
Powered by blists - more mailing lists