Skip to content

Commit

Permalink
tracing/hwlat: Honor the tracing_cpumask
Browse files Browse the repository at this point in the history
In calculation of the cpu mask for the hwlat kernel thread, the wrong
cpu mask is used instead of the tracing_cpumask, this causes the
tracing/tracing_cpumask useless for hwlat tracer. Fixes it.

Link: https://lkml.kernel.org/r/20200730082318.42584-2-haokexin@gmail.com

Cc: Ingo Molnar <mingo@redhat.com>
Cc: stable@vger.kernel.org
Fixes: 0330f7a ("tracing: Have hwlat trace migrate across tracing_cpumask CPUs")
Signed-off-by: Kevin Hao <haokexin@gmail.com>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
  • Loading branch information
Kevin Hao authored and Steven Rostedt (VMware) committed Jul 30, 2020
1 parent a9d0ba6 commit 96b4833
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions kernel/trace/trace_hwlat.c
Original file line number Diff line number Diff line change
Expand Up @@ -283,6 +283,7 @@ static bool disable_migrate;
static void move_to_next_cpu(void)
{
struct cpumask *current_mask = &save_cpumask;
struct trace_array *tr = hwlat_trace;
int next_cpu;

if (disable_migrate)
Expand All @@ -296,7 +297,7 @@ static void move_to_next_cpu(void)
goto disable;

get_online_cpus();
cpumask_and(current_mask, cpu_online_mask, tracing_buffer_mask);
cpumask_and(current_mask, cpu_online_mask, tr->tracing_cpumask);
next_cpu = cpumask_next(smp_processor_id(), current_mask);
put_online_cpus();

Expand Down Expand Up @@ -372,7 +373,7 @@ static int start_kthread(struct trace_array *tr)

/* Just pick the first CPU on first iteration */
get_online_cpus();
cpumask_and(current_mask, cpu_online_mask, tracing_buffer_mask);
cpumask_and(current_mask, cpu_online_mask, tr->tracing_cpumask);
put_online_cpus();
next_cpu = cpumask_first(current_mask);

Expand Down

0 comments on commit 96b4833

Please sign in to comment.