From mboxrd@z Thu Jan 1 00:00:00 1970 From: Masami Hiramatsu Subject: [RFC PATCH v2 01/15] tracing: Apply soft-disabled and filter to tracepoints printk Date: Mon, 15 Jul 2019 14:11:20 +0900 Message-ID: <156316748016.23477.14627660706531947592.stgit@devnote2> References: <156316746861.23477.5815110570539190650.stgit@devnote2> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Return-path: In-Reply-To: <156316746861.23477.5815110570539190650.stgit@devnote2> Sender: linux-kernel-owner@vger.kernel.org To: Steven Rostedt , Rob Herring , Frank Rowand , Tim Bird Cc: Ingo Molnar , Namhyung Kim , Jiri Olsa , Arnaldo Carvalho de Melo , Tom Zanussi , linux-kernel@vger.kernel.org, devicetree@vger.kernel.org List-Id: devicetree@vger.kernel.org Apply soft-disabled and the filter rule of the trace events to the printk output of tracepoints (a.k.a. tp_printk kernel parameter) as same as trace buffer output. Signed-off-by: Masami Hiramatsu --- kernel/trace/trace.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index 6b62e1718548..047f37816bf1 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c @@ -2502,6 +2502,7 @@ static DEFINE_MUTEX(tracepoint_printk_mutex); static void output_printk(struct trace_event_buffer *fbuffer) { struct trace_event_call *event_call; + struct trace_event_file *file; struct trace_event *event; unsigned long flags; struct trace_iterator *iter = tracepoint_print_iter; @@ -2515,6 +2516,12 @@ static void output_printk(struct trace_event_buffer *fbuffer) !event_call->event.funcs->trace) return; + file = fbuffer->trace_file; + if (test_bit(EVENT_FILE_FL_SOFT_DISABLED_BIT, &file->flags) || + (unlikely(file->flags & EVENT_FILE_FL_FILTERED) && + !filter_match_preds(file->filter, fbuffer->entry))) + return; + event = &fbuffer->trace_file->event_call->event; spin_lock_irqsave(&tracepoint_iter_lock, flags);