From 174d860d2bf27e4ffe4eb13bf9018b08cb0cfc83 Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Thu, 2 Apr 2009 01:16:59 -0400 Subject: [PATCH] --- yaml --- r: 146001 b: refs/heads/master c: 77d9f465d46fd67cdb82ee5e1ab99dd57a17c486 h: refs/heads/master i: 145999: e250751f0be4c8520570d6a3fd04aba407ac9cf2 v: v3 --- [refs] | 2 +- trunk/kernel/trace/trace.c | 9 +++++++-- trunk/kernel/trace/trace.h | 1 + trunk/kernel/trace/trace_events_stage_3.h | 6 +++--- 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index 6f2c9d82c369..1861071a1f14 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: fa1b47dd85453ec7d4bcfe4aa4a2d172ba452fc3 +refs/heads/master: 77d9f465d46fd67cdb82ee5e1ab99dd57a17c486 diff --git a/trunk/kernel/trace/trace.c b/trunk/kernel/trace/trace.c index c209d214169c..d880ab2772ce 100644 --- a/trunk/kernel/trace/trace.c +++ b/trunk/kernel/trace/trace.c @@ -884,13 +884,18 @@ trace_current_buffer_lock_reserve(unsigned char type, unsigned long len, void trace_current_buffer_unlock_commit(struct ring_buffer_event *event, unsigned long flags, int pc) { - return __trace_buffer_unlock_commit(&global_trace, event, flags, pc, 1); + __trace_buffer_unlock_commit(&global_trace, event, flags, pc, 1); } void trace_nowake_buffer_unlock_commit(struct ring_buffer_event *event, unsigned long flags, int pc) { - return __trace_buffer_unlock_commit(&global_trace, event, flags, pc, 0); + __trace_buffer_unlock_commit(&global_trace, event, flags, pc, 0); +} + +void trace_current_buffer_discard_commit(struct ring_buffer_event *event) +{ + ring_buffer_discard_commit(global_trace.buffer, event); } void diff --git a/trunk/kernel/trace/trace.h b/trunk/kernel/trace/trace.h index 3cf856fa597b..dfefffd7ae39 100644 --- a/trunk/kernel/trace/trace.h +++ b/trunk/kernel/trace/trace.h @@ -497,6 +497,7 @@ void trace_current_buffer_unlock_commit(struct ring_buffer_event *event, unsigned long flags, int pc); void trace_nowake_buffer_unlock_commit(struct ring_buffer_event *event, unsigned long flags, int pc); +void trace_current_buffer_discard_commit(struct ring_buffer_event *event); struct trace_entry *tracing_get_trace_entry(struct trace_array *tr, struct trace_array_cpu *data); diff --git a/trunk/kernel/trace/trace_events_stage_3.h b/trunk/kernel/trace/trace_events_stage_3.h index 9d2fa78cecca..d2f34bf30e59 100644 --- a/trunk/kernel/trace/trace_events_stage_3.h +++ b/trunk/kernel/trace/trace_events_stage_3.h @@ -223,9 +223,9 @@ static void ftrace_raw_event_##call(proto) \ assign; \ \ if (call->preds && !filter_match_preds(call, entry)) \ - ring_buffer_event_discard(event); \ - \ - trace_nowake_buffer_unlock_commit(event, irq_flags, pc); \ + trace_current_buffer_discard_commit(event); \ + else \ + trace_nowake_buffer_unlock_commit(event, irq_flags, pc); \ \ } \ \