On 2013-07-04 12:58, Mathieu Desnoyers wrote: > This patch fixes the printk instrumentation. > > - It does not require a 2kB buffer on the stack anymore, > - It introduces __dynamic_array_enc_ext_2() and tp_memcpy_dyn_2(), which > allow copying into a single variable-length buffer from two sources, > useful for kernel < 3.5. > - It adds support for 3.10 kernel printk instrumentation. > > Yannick, can you try this out on 3.4, 3.5, 3.9 and 3.10 kernels ? When > you confirm that it works, I'll split it into two patches (one for > lttng-events.h and the other for printk.h), merge, and backport this. So far: 3.10: Works and compile when small typo fixed (see bellow) 3.9: Works 3.2: Fail to enable with this error msg (will try to get more detailled info or fix) root@debian-wheezy:/home/scientist# lttng enable-event -k console PERROR [6648/6745]: create event ioctl: Invalid argument (in kernel_create_event() at kernel.c:205) Error: Event console: Enable kernel event failed (channel channel0, session auto-20130630-135404) Warning: Some command(s) went wrong
> Only built-tested on 3.5 kernel so far. > > Thanks, > > Mathieu > > --- > diff --git a/instrumentation/events/lttng-module/printk.h > b/instrumentation/events/lttng-module/printk.h > index 4c744f9..e22a2cc 100644 > --- a/instrumentation/events/lttng-module/printk.h > +++ b/instrumentation/events/lttng-module/printk.h > @@ -7,7 +7,25 @@ > #include <linux/tracepoint.h> > #include <linux/version.h> > > -#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, len) > + ), > + > + TP_fast_assign( > + tp_memcpy_dyn(msg, msg) > second "msg" should be "text" _______________________________________________ lttng-dev mailing list [email protected] http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
