[ltt-dev] [RFC PATCH] Fix missing data pointer for trace_mark_tp

Mathieu Desnoyers compudj at krystal.dyndns.org
Fri Sep 3 14:45:58 EDT 2010


* David Goulet (david.goulet at polymtl.ca) wrote:
> ---
>  include/ust/marker.h |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/include/ust/marker.h b/include/ust/marker.h
> index d0b06f5..3625da5 100644
> --- a/include/ust/marker.h
> +++ b/include/ust/marker.h
> @@ -191,7 +191,7 @@ struct marker {
>  		struct registers regs;								\
>  		void __check_tp_type(void)				\
>  		{							\
> -			register_trace_##tp_name(tp_cb);		\
> +			register_trace_##tp_name(call_private, tp_cb);		\

Please double-check with the LTTng implementation. This looks incorrect.
LTTng pass (tp_cb, NULL). (but maybe could pass (tp_cb, call_private),
but call_private is not used at the moment).

So please fix the argument order. I think keeping   (tp_cb,
call_private) would be fine.

> /* Is call_private suppose to be the data pointer that
>  * we just added to tracepoints? If so, this is always set to
>  * NULL using trace_mark_tp. Same below.
>  *
>  * As now, the trace_mark_tp macro is broken without this change
>  */
>  		}							\
>  		DEFINE_MARKER_TP(channel, name, tp_name, tp_cb, format);\
>  		__mark_check_format(format, ## args);			\
> @@ -213,7 +213,7 @@ extern void marker_update_probe_range(struct marker *begin,
>  	do {								\
>  		void __check_tp_type(void)				\
>  		{							\
> -			register_trace_##tp_name(tp_cb);		\
> +			register_trace_##tp_name(call_private, tp_cb);		\

Same here.

Thanks

Mathieu

>  		}							\
>  		__mark_check_format(format, ## args);			\
>  	} while (0)
> -- 
> 1.7.2.2
> 
> _______________________________________________
> ltt-dev mailing list
> ltt-dev at lists.casi.polymtl.ca
> http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev
> 

-- 
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com




More information about the lttng-dev mailing list