From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel.Thibault@drdc-rddc.gc.ca (Thibault, Daniel) Date: Wed, 12 Feb 2014 15:41:15 +0000 Subject: [lttng-dev] Instrumenting a module? Message-ID: <48CF5AC71E61DB46B70D0F388054EFFD267E62C0@VAL-E-01.valcartier.drdc-rddc.gc.ca> Further update. So far I can make plain payload fields and static array payload fields. But I can't make dynamic array fields (same problem as with strings, I'm sure, since a string is just a dynamic array of char). The tracepoint: TRACE_EVENT(hello_exit, TP_PROTO(int * intarr, unsigned short len), TP_ARGS(intarr, len), TP_STRUCT__entry( __dynamic_array(int, anarray, len) ), TP_fast_assign( memcpy(__entry->anarray, intarr, len*sizeof(int)); ), TP_printk( "%s", "printk says bye" ) ); The TP_fast_assign of the lttng-module version uses: tp_memcpy(anarray, intarr, len*sizeof(int)) The make of the module calling trace_hello_exit() says: make -C /lib/modules/3.2.0-53-virtual/build M=/home/daniel/Documents/mymodule modules make[1]: entrant dans le r?pertoire ? /usr/src/linux-headers-3.2.0-53-virtual ? CC [M] /home/daniel/Documents/mymodule/hello.o In file included from include/trace/ftrace.h:567:0, from include/trace/define_trace.h:86, from include/trace/events/hello.h:130, from /home/daniel/Documents/mymodule/hello.c:5: include/trace/events/hello.h: In function 'ftrace_raw_event_hello_exit': include/trace/events/hello.h:87:1: erreur: 'struct ftrace_raw_hello_exit' has no member named 'anarray' In file included from include/trace/ftrace.h:774:0, from include/trace/define_trace.h:86, from include/trace/events/hello.h:130, from /home/daniel/Documents/mymodule/hello.c:5: include/trace/events/hello.h: In function 'perf_trace_hello_exit': include/trace/events/hello.h:87:1: erreur: 'struct ftrace_raw_hello_exit' has no member named 'anarray' make[2]: *** [/home/daniel/Documents/mymodule/hello.o] Erreur 1 make[1]: *** [_module_/home/daniel/Documents/mymodule] Erreur 2 make[1]: quittant le r?pertoire ? /usr/src/linux-headers-3.2.0-53-virtual ? make: *** [all] Erreur 2 Why was perf dragged into this? The __string attempt only had an ftrace failure. Please help untangle this. Daniel U. Thibault Protection des syst?mes et contremesures (PSC) | Systems Protection & Countermeasures (SPC) Cyber s?curit? pour les missions essentielles (CME) | Mission Critical Cyber Security (MCCS) R & D pour la d?fense Canada - Valcartier (RDDC Valcartier) | Defence R&D Canada - Valcartier (DRDC Valcartier) 2459 route de la Bravoure Qu?bec QC G3J 1X5 CANADA Vox : (418) 844-4000 x4245 Fax : (418) 844-4538 NAC : 918V QSDJ Gouvernement du Canada | Government of Canada