From: Steven Rostedt (Red Hat) Date: Tue, 7 Jan 2014 03:25:50 +0000 (-0500) Subject: tracing: Fix counter for traceon/off event triggers X-Git-Tag: v3.14-rc1~82^2~10 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e8dc637152d2921447b012f58c51e0342304af33;p=platform%2Fkernel%2Flinux-stable.git tracing: Fix counter for traceon/off event triggers The counters for the traceon and traceoff are only suppose to decrement when the trigger enables or disables tracing. It is not suppose to decrement every time the event is hit. Only decrement the counter if the trigger actually did something. Link: http://lkml.kernel.org/r/20140106223124.0e5fd0b4@gandalf.local.home Acked-by: Tom Zanussi Signed-off-by: Steven Rostedt --- diff --git a/kernel/trace/trace_events_trigger.c b/kernel/trace/trace_events_trigger.c index f6dd115..a53e0da 100644 --- a/kernel/trace/trace_events_trigger.c +++ b/kernel/trace/trace_events_trigger.c @@ -742,13 +742,16 @@ traceon_trigger(struct event_trigger_data *data) static void traceon_count_trigger(struct event_trigger_data *data) { + if (tracing_is_on()) + return; + if (!data->count) return; if (data->count != -1) (data->count)--; - traceon_trigger(data); + tracing_on(); } static void @@ -763,13 +766,16 @@ traceoff_trigger(struct event_trigger_data *data) static void traceoff_count_trigger(struct event_trigger_data *data) { + if (!tracing_is_on()) + return; + if (!data->count) return; if (data->count != -1) (data->count)--; - traceoff_trigger(data); + tracing_off(); } static int