]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
tracing: Do not stop recording comms if the trace file is being read
authorSteven Rostedt (VMware) <rostedt@goodmis.org>
Thu, 17 Jun 2021 18:32:34 +0000 (14:32 -0400)
committerSasha Levin <sashal@kernel.org>
Wed, 30 Jun 2021 12:49:36 +0000 (08:49 -0400)
commit 4fdd595e4f9a1ff6d93ec702eaecae451cfc6591 upstream.

A while ago, when the "trace" file was opened, tracing was stopped, and
code was added to stop recording the comms to saved_cmdlines, for mapping
of the pids to the task name.

Code has been added that only records the comm if a trace event occurred,
and there's no reason to not trace it if the trace file is opened.

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 6b879ff120d6d227904ac6db552b69a8ce3abb7e..bc8b1fdbf1bb71e14880491128055fdaf1b0efb9 100644 (file)
@@ -1369,9 +1369,6 @@ struct saved_cmdlines_buffer {
 };
 static struct saved_cmdlines_buffer *savedcmd;
 
-/* temporary disable recording */
-static atomic_t trace_record_cmdline_disabled __read_mostly;
-
 static inline char *get_saved_cmdlines(int idx)
 {
        return &savedcmd->saved_cmdlines[idx * TASK_COMM_LEN];
@@ -2497,9 +2494,6 @@ static void *s_start(struct seq_file *m, loff_t *pos)
                return ERR_PTR(-EBUSY);
 #endif
 
-       if (!iter->snapshot)
-               atomic_inc(&trace_record_cmdline_disabled);
-
        if (*pos != iter->pos) {
                iter->ent = NULL;
                iter->cpu = 0;
@@ -2542,9 +2536,6 @@ static void s_stop(struct seq_file *m, void *p)
                return;
 #endif
 
-       if (!iter->snapshot)
-               atomic_dec(&trace_record_cmdline_disabled);
-
        trace_access_unlock(iter->cpu_file);
        trace_event_read_unlock();
 }