提交 b8f8534b 编写于 作者: T Tingwei Zhang 提交者: Greg Kroah-Hartman

stm class: ftrace: Use different channel accroding to CPU

To avoid mixup of packets from differnt ftrace packets simultaneously,
use different channel for packets from different CPU.
Reviewed-by: NSteven Rostedt (VMware) <rostedt@goodmis.org>
Signed-off-by: NTingwei Zhang <tingwei@codeaurora.org>
Signed-off-by: NAlexander Shishkin <alexander.shishkin@linux.intel.com>
Link: https://lore.kernel.org/r/20201005071319.78508-7-alexander.shishkin@linux.intel.comSigned-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
上级 e8ecea30
......@@ -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 = roundup_pow_of_two(num_possible_cpus());
ret = stm_source_register_device(NULL, &stm_ftrace.data);
if (ret)
pr_err("Failed to register stm_source - ftrace.\n");
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册