[lttng-dev] Instrumenting a module?
Thibault, Daniel
Daniel.Thibault at drdc-rddc.gc.ca
Wed Feb 12 10:41:15 EST 2014
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 <http://www.travelgis.com/map.asp?addr=918V%20QSDJ>
Gouvernement du Canada | Government of Canada
<http://www.valcartier.drdc-rddc.gc.ca/>
More information about the lttng-dev
mailing list