X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=instrumentation%2Fsyscalls%2FREADME;h=6dbc640ecac8081763327c0e2ae6fa524df266f0;hb=9143c6d5444e809b9d411c07a8dae94c151668ae;hp=4b857994be64e1547072872b36c6ccaf453d81b5;hpb=5fee13fdbe001aacbdd61052f2ab0be57bfd6c5f;p=lttng-modules.git diff --git a/instrumentation/syscalls/README b/instrumentation/syscalls/README index 4b857994..6dbc640e 100644 --- a/instrumentation/syscalls/README +++ b/instrumentation/syscalls/README @@ -2,17 +2,32 @@ LTTng system call tracing 1) lttng-syscall-extractor -You need to build a kernel with CONFIG_FTRACE_SYSCALLS=y for extraction. Apply -the linker patch to get your kernel to keep the system call metadata after boot. -Then build and load the LTTng syscall extractor module. The module will fail to -load (this is expected). See the dmesg output for system call metadata. +You need to build a kernel with CONFIG_FTRACE_SYSCALLS=y and +CONFIG_KALLSYMS_ALL=y for extraction. Apply the linker patch to get your +kernel to keep the system call metadata after boot. Then build and load +the LTTng syscall extractor module. The module will fail to load (this +is expected). See the dmesg output for system call metadata. 2) Generate system call TRACE_EVENT(). -Take the dmesg metadata and feed it to lttng-syscalls-generate-headers.sh, e.g., -from the instrumentation/syscalls directory: +Take the dmesg data and feed it to lttng-syscalls-generate-headers.sh from +the instrumentation/syscalls directory. See the script header for usage +example. It should be run for both the integers and pointers types. -sh lttng-syscalls-generate-headers.sh 3.0.4 x86-64-syscalls-3.0.4 - -After these are created, we just need to follow the new system call additions, +After these are created, you just need to follow the new system call additions, no need to regenerate the whole thing, since system calls are only appended to. + +3) Override headers + +You need to provide override headers (even if they don't contain +overrides) for each architecture. Those are meant to contain manual +overrides for specific system calls for cases where the script do not +generate the correct typing for specific system calls. + +4) Integrating the new architecture, updating architecture header + +Edit instrumentation/syscalls/headers/syscalls_integers.h and +syscalls_pointers.h. Add the new architecture +(e.g. CONFIG_X86_64) to the newly-generated headers +(e.g. changing the current x86-64-syscalls-3.10.0-rc7_.h into +x86-64-syscalls-3.13.7_.h), then rebuild lttng-modules.