Messages in this thread | | | Date | Thu, 02 Dec 2010 14:58:48 -0800 | From | David Daney <> | Subject | Re: [RFC][PATCH 1/2] [PATCH 1/2] tracing: Add TRACE_EVENT_CONDITIONAL() |
| |
On 12/02/2010 02:36 PM, Steven Rostedt wrote: > From: Steven Rostedt<srostedt@redhat.com> > > There are instances in the kernel that we only want to trace > a tracepoint when a certain condition is set. But we do not > want to test for that condition in the core kernel. > If we test for that condition before calling the tracepoin, then > we will be performing that test even when tracing is not enabled. > This is 99.99% of the time. > > We currently can just filter out on that condition, but that happens > after we write to the trace buffer. We just wasted time writing to > the ring buffer for an event we never cared about. > > This patch adds: > > TRACE_EVENT_CONDITION() and DECLARE_TRACE_CLASS_CONDITION() > > These have a new TP_CONDITION() argument that comes right after > the TP_ARGS(). This condition can use the parameters of the > TRACE_EVENT() to determine if the tracepoint should be traced > or not. The TP_CONDITION() will be placed in a if (cond) trace; > > For example, for the tracepoint sched_wakeup, it is useless to > trace an wakeup event where the caller never actually work > anything up (success = 0). So adding: ^^^ s/=/==/
As much as I hate to be a pedant, I would suggest changing this change log for the sake of clarity.
David Daney
| |