]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
tracing: Do not stop recording cmdlines when tracing is off
authorSteven Rostedt (VMware) <rostedt@goodmis.org>
Thu, 17 Jun 2021 17:47:25 +0000 (13:47 -0400)
committerSasha Levin <sashal@kernel.org>
Wed, 30 Jun 2021 12:49:35 +0000 (08:49 -0400)
commit 85550c83da421fb12dc1816c45012e1e638d2b38 upstream.

The saved_cmdlines is used to map pids to the task name, such that the
output of the tracing does not just show pids, but also gives a human
readable name for the task.

If the name is not mapped, the output looks like this:

    <...>-1316          [005] ...2   132.044039: ...

Instead of this:

    gnome-shell-1316    [005] ...2   132.044039: ...

The names are updated when tracing is running, but are skipped if tracing
is stopped. Unfortunately, this stops the recording of the names if the
top level tracer is stopped, and not if there's other tracers active.

The recording of a name only happens when a new event is written into a
ring buffer, so there is no need to test if tracing is on or not. If
tracing is off, then no event is written and no need to test if tracing is
off or not.

Remove the check, as it hides the names of tasks for events in the
instance buffers.

Cc: stable@vger.kernel.org
Fixes: 7ffbd48d5cab2 ("tracing: Cache comms only after an event occurred")
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
kernel/trace/trace.c

index 9483bd52724756b8db6e179f9f609e166863c7d5..6b879ff120d6d227904ac6db552b69a8ce3abb7e 100644 (file)
@@ -1635,9 +1635,6 @@ void trace_find_cmdline(int pid, char comm[])
 
 void tracing_record_cmdline(struct task_struct *tsk)
 {
-       if (atomic_read(&trace_record_cmdline_disabled) || !tracing_is_on())
-               return;
-
        if (!__this_cpu_read(trace_cmdline_save))
                return;