Re: [PATCH 0/2] tracing/triggers: A couple minor variable namechanges

From: Steven Rostedt
Date: Mon Jan 06 2014 - 22:31:30 EST


On Mon, 06 Jan 2014 20:51:09 -0600
Tom Zanussi <tom.zanussi@xxxxxxxxxxxxxxx> wrote:

> I'll run the next version through my 'testsuite', which unfortunately is
> still manual (one of the many things on my todo list is automate it)..

I have some basic tests, attached is one. Which failed. Here's the
patch that fixes it:

-- Steve

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.

Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
---
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.1.4


Attachment: ftrace-test-event-traceon-off
Description: Binary data