Messages in this thread | | | Subject | Re: [RFC][PATCH 1/2 v2] tracing: Add TRACE_EVENT_CONDITIONAL() | From | Steven Rostedt <> | Date | Fri, 03 Dec 2010 09:09:04 -0500 |
| |
On Thu, 2010-12-02 at 23:54 -0500, Mathieu Desnoyers wrote: > * Steven Rostedt (rostedt@goodmis.org) wrote: > [...] > > -#define __DO_TRACE(tp, proto, args) \ > > +#define __DO_TRACE(tp, proto, args, cond) \ > > do { \ > > struct tracepoint_func *it_func_ptr; \ > > void *it_func; \ > > void *__data; \ > > \ > > + if (!(cond)) \ > > One small documentation-related detail: my guess is that you are leaving > "cond" without likely/unlikely builtin expect purposefully so that we > can write, in TP_CONDITION: > > TP_CONDITION(unlikely(someparam)),
I actually think this is an abuse of "unlikely".
> > when we expect the condition to be usually false (and likely() for the > reverse). Maybe it could be worth documenting that expressions like the > following are valid : > > TP_CONDITION((likely(param1) && unlikely(param2)) || likely(param3)) > > It's fair to assume that kernel developers know this already, but given > we plan to re-use TRACE_EVENT() for the user-space tracer soon enough, > documenting this kind of use-case now can save us the trouble in the > future.
I would frown on someone using unlikely here. But a TRACE_EVENT() belongs to the maintainer, not me.
> > Other than that, > > Acked-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Thanks!
-- Steve
| |