From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S941742AbcIHQFx (ORCPT ); Thu, 8 Sep 2016 12:05:53 -0400 Received: from mail.kernel.org ([198.145.29.136]:42418 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S941433AbcIHQFw (ORCPT ); Thu, 8 Sep 2016 12:05:52 -0400 From: Masami Hiramatsu To: Steven Rostedt , Tom Zanussi Cc: Masami Hiramatsu , linux-kernel@vger.kernel.org, Ingo Molnar , Namhyung Kim Subject: [PATCH] ftrace: trigger: Call traceoff trigger after event recorded Date: Fri, 9 Sep 2016 01:05:45 +0900 Message-Id: <147335074530.12462.4526186083406015005.stgit@devbox> X-Mailer: git-send-email 2.7.4 User-Agent: StGit/0.17.1-dirty MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Call traceoff trigger after the event is recorded. Since current traceoff trigger is called before recording the event, we can not know when the trace is off by what event. Typical usecase of traceoff/traceon trigger is tracing function calls and trace events between a pair of events. For example, trace function calls between syscall entry/exit. In that case, it is useful if we can see the return code of the target syscall. Signed-off-by: Masami Hiramatsu --- kernel/trace/trace_events_trigger.c | 1 + 1 file changed, 1 insertion(+) diff --git a/kernel/trace/trace_events_trigger.c b/kernel/trace/trace_events_trigger.c index a975571..6721a1e8 100644 --- a/kernel/trace/trace_events_trigger.c +++ b/kernel/trace/trace_events_trigger.c @@ -1028,6 +1028,7 @@ static struct event_command trigger_traceon_cmd = { static struct event_command trigger_traceoff_cmd = { .name = "traceoff", .trigger_type = ETT_TRACE_ONOFF, + .flags = EVENT_CMD_FL_POST_TRIGGER, .func = event_trigger_callback, .reg = register_trigger, .unreg = unregister_trigger,