From: "Steven Rostedt (Red Hat)" <[email protected]>

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/[email protected]

Acked-by: Tom Zanussi <[email protected]>
Signed-off-by: Steven Rostedt <[email protected]>
---
 kernel/trace/trace_events_trigger.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

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
-- 
1.8.4.3


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to