All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tingwei Zhang <tingwei@codeaurora.org>
To: Steven Rostedt <rostedt@goodmis.org>,
	Ingo Molnar <mingo@redhat.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Maxime Coquelin <mcoquelin.stm32@gmail.com>,
	Alexandre Torgue <alexandre.torgue@st.com>
Cc: tsoni@codeaurora.org,
	Sai Prakash Ranjan <saiprakash.ranjan@codeaurora.org>,
	Mathieu Poirier <mathieu.poirier@linaro.org>,
	Suzuki K Poulose <suzuki.poulose@arm.com>,
	Mao Jinlong <jinlmao@codeaurora.org>,
	linux-kernel@vger.kernel.org,
	Tingwei Zhang <tingwei@codeaurora.org>,
	linux-stm32@st-md-mailman.stormreply.com,
	linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 6/6] stm class: ftrace: use different channel accroding to CPU
Date: Thu,  3 Sep 2020 08:17:06 +0800	[thread overview]
Message-ID: <20200903001706.28147-7-tingwei@codeaurora.org> (raw)
In-Reply-To: <20200903001706.28147-1-tingwei@codeaurora.org>

To avoid mixup of packets from differnt ftrace packets simultaneously,
use different channel for packets from different CPU.

Signed-off-by: Tingwei Zhang <tingwei@codeaurora.org>
Reviewed-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
---
 drivers/hwtracing/stm/ftrace.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/hwtracing/stm/ftrace.c b/drivers/hwtracing/stm/ftrace.c
index c694a6e692d1..ebf29489919c 100644
--- a/drivers/hwtracing/stm/ftrace.c
+++ b/drivers/hwtracing/stm/ftrace.c
@@ -37,8 +37,10 @@ static void notrace
 stm_ftrace_write(struct trace_export *export, const void *buf, unsigned int len)
 {
 	struct stm_ftrace *stm = container_of(export, struct stm_ftrace, ftrace);
+	/* This is called from trace system with preemption disabled */
+	unsigned int cpu = smp_processor_id();
 
-	stm_source_write(&stm->data, STM_FTRACE_CHAN, buf, len);
+	stm_source_write(&stm->data, STM_FTRACE_CHAN + cpu, buf, len);
 }
 
 static int stm_ftrace_link(struct stm_source_data *data)
@@ -63,6 +65,7 @@ static int __init stm_ftrace_init(void)
 {
 	int ret;
 
+	stm_ftrace.data.nr_chans = num_possible_cpus();
 	ret = stm_source_register_device(NULL, &stm_ftrace.data);
 	if (ret)
 		pr_err("Failed to register stm_source - ftrace.\n");
-- 
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

WARNING: multiple messages have this Message-ID (diff)
From: Tingwei Zhang <tingwei@codeaurora.org>
To: Steven Rostedt <rostedt@goodmis.org>,
	Ingo Molnar <mingo@redhat.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Maxime Coquelin <mcoquelin.stm32@gmail.com>,
	Alexandre Torgue <alexandre.torgue@st.com>
Cc: Tingwei Zhang <tingwei@codeaurora.org>,
	Mathieu Poirier <mathieu.poirier@linaro.org>,
	Suzuki K Poulose <suzuki.poulose@arm.com>,
	tsoni@codeaurora.org,
	Sai Prakash Ranjan <saiprakash.ranjan@codeaurora.org>,
	Mao Jinlong <jinlmao@codeaurora.org>,
	linux-kernel@vger.kernel.org,
	linux-stm32@st-md-mailman.stormreply.com,
	linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 6/6] stm class: ftrace: use different channel accroding to CPU
Date: Thu,  3 Sep 2020 08:17:06 +0800	[thread overview]
Message-ID: <20200903001706.28147-7-tingwei@codeaurora.org> (raw)
In-Reply-To: <20200903001706.28147-1-tingwei@codeaurora.org>

To avoid mixup of packets from differnt ftrace packets simultaneously,
use different channel for packets from different CPU.

Signed-off-by: Tingwei Zhang <tingwei@codeaurora.org>
Reviewed-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
---
 drivers/hwtracing/stm/ftrace.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/hwtracing/stm/ftrace.c b/drivers/hwtracing/stm/ftrace.c
index c694a6e692d1..ebf29489919c 100644
--- a/drivers/hwtracing/stm/ftrace.c
+++ b/drivers/hwtracing/stm/ftrace.c
@@ -37,8 +37,10 @@ static void notrace
 stm_ftrace_write(struct trace_export *export, const void *buf, unsigned int len)
 {
 	struct stm_ftrace *stm = container_of(export, struct stm_ftrace, ftrace);
+	/* This is called from trace system with preemption disabled */
+	unsigned int cpu = smp_processor_id();
 
-	stm_source_write(&stm->data, STM_FTRACE_CHAN, buf, len);
+	stm_source_write(&stm->data, STM_FTRACE_CHAN + cpu, buf, len);
 }
 
 static int stm_ftrace_link(struct stm_source_data *data)
@@ -63,6 +65,7 @@ static int __init stm_ftrace_init(void)
 {
 	int ret;
 
+	stm_ftrace.data.nr_chans = num_possible_cpus();
 	ret = stm_source_register_device(NULL, &stm_ftrace.data);
 	if (ret)
 		pr_err("Failed to register stm_source - ftrace.\n");
-- 
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project


  parent reply	other threads:[~2020-09-03  0:19 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-03  0:17 [PATCH v3 0/6] tracing: export event trace and trace_marker Tingwei Zhang
2020-09-03  0:17 ` Tingwei Zhang
2020-09-03  0:17 ` [PATCH v3 1/6] stm class: ftrace: change dependency to TRACING Tingwei Zhang
2020-09-03  0:17   ` Tingwei Zhang
2020-09-03  0:17 ` [PATCH v3 2/6] tracing: add flag to control different traces Tingwei Zhang
2020-09-03  0:17   ` Tingwei Zhang
2020-09-03  0:17 ` [PATCH v3 3/6] tracing: add trace_export support for event trace Tingwei Zhang
2020-09-03  0:17   ` Tingwei Zhang
2020-09-03  0:17 ` [PATCH v3 4/6] tracing: add trace_export support for trace_marker Tingwei Zhang
2020-09-03  0:17   ` Tingwei Zhang
2020-09-03  0:17 ` [PATCH v3 5/6] stm class: ftrace: enable supported trace export flag Tingwei Zhang
2020-09-03  0:17   ` Tingwei Zhang
2020-09-03  0:17 ` Tingwei Zhang [this message]
2020-09-03  0:17   ` [PATCH v3 6/6] stm class: ftrace: use different channel accroding to CPU Tingwei Zhang
2020-09-18 12:45   ` Alexander Shishkin
2020-09-18 12:45     ` Alexander Shishkin
2020-09-23  4:39     ` Tingwei Zhang
2020-09-23  4:39       ` Tingwei Zhang
2020-09-14 23:27 ` [PATCH v3 0/6] tracing: export event trace and trace_marker Tingwei Zhang
2020-09-14 23:27   ` Tingwei Zhang
2020-09-18 14:26   ` Alexander Shishkin
2020-09-18 14:26     ` Alexander Shishkin
  -- strict thread matches above, loose matches on Subject: below --
2020-08-13  1:45 Tingwei Zhang
2020-08-13  1:45 ` [PATCH v3 6/6] stm class: ftrace: use different channel accroding to CPU Tingwei Zhang
2020-08-11  3:57 [PATCH v3 0/6] tracing: export event trace and trace_marker Tingwei Zhang
2020-08-11  3:57 ` [PATCH v3 6/6] stm class: ftrace: use different channel accroding to CPU Tingwei Zhang
2020-07-28  1:33 [PATCH v3 0/6] tracing: export event trace and trace_marker Tingwei Zhang
2020-07-28  1:33 ` [PATCH v3 6/6] stm class: ftrace: use different channel accroding to CPU Tingwei Zhang

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=20200903001706.28147-7-tingwei@codeaurora.org \
    --to=tingwei@codeaurora.org \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=alexandre.torgue@st.com \
    --cc=jinlmao@codeaurora.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-stm32@st-md-mailman.stormreply.com \
    --cc=mathieu.poirier@linaro.org \
    --cc=mcoquelin.stm32@gmail.com \
    --cc=mingo@redhat.com \
    --cc=rostedt@goodmis.org \
    --cc=saiprakash.ranjan@codeaurora.org \
    --cc=suzuki.poulose@arm.com \
    --cc=tsoni@codeaurora.org \
    /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: link
Be 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.