[lttng-dev] [LTTng-module PATCH] Update prink:console tracepoint for 3.10 kernel

Mathieu Desnoyers mathieu.desnoyers at efficios.com
Fri Jun 28 15:42:06 EDT 2013


* Yannick Brosseau (yannick.brosseau at gmail.com) wrote:
> Signed-off-by: Yannick Brosseau <yannick.brosseau at gmail.com>
> ---
>  instrumentation/events/lttng-module/printk.h |   26 ++++++++++++++++++++++++++
>  1 file changed, 26 insertions(+)
> 
> diff --git a/instrumentation/events/lttng-module/printk.h b/instrumentation/events/lttng-module/printk.h
> index 4c744f9..16f5716 100644
> --- a/instrumentation/events/lttng-module/printk.h
> +++ b/instrumentation/events/lttng-module/printk.h
> @@ -9,6 +9,31 @@
>  
>  #define MSG_TRACE_MAX_LEN	2048
>  
> +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0))
> +TRACE_EVENT(console,
> +        TP_PROTO(const char *text, size_t len),
> +
> +        TP_ARGS(text, len),
> +
> +        TP_STRUCT__entry(
> +                __dynamic_array_text(char, msg, min_t(unsigned, len, MSG_TRACE_MAX_LEN))
> +        ),
> +
> +        TP_fast_assign(
> +                tp_memcpy_dyn(msg,
> +                        ({
> +                                char lmsg[MSG_TRACE_MAX_LEN + 1];
> +				unsigned start = 0;

tab alignment issues ?

Thanks,

Mathieu

> +                                if (len > MSG_TRACE_MAX_LEN) {
> +                                        start = len - MSG_TRACE_MAX_LEN;
> +					len = MSG_TRACE_MAX_LEN;
> +				}
> +                                memcpy(lmsg, text + start, len);
> +                                lmsg[len] = 0;
> +                                lmsg;
> +                        })
> +                )
> +#else
>  TRACE_EVENT_CONDITION(console,
>  	TP_PROTO(const char *log_buf, unsigned start, unsigned end,
>  		 unsigned log_buf_len),
> @@ -54,6 +79,7 @@ TRACE_EVENT_CONDITION(console,
>  				lmsg;
>  			})
>  		)
> +#endif
>  	),
>  
>  	TP_printk("%s", __get_str(msg))
> -- 
> 1.7.10.4
> 
> 
> _______________________________________________
> lttng-dev mailing list
> lttng-dev at lists.lttng.org
> http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev

-- 
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com



More information about the lttng-dev mailing list