From: Francis Deslauriers Date: Fri, 30 Apr 2021 21:30:48 +0000 (-0400) Subject: Split syscall tracepoint generation in their own files X-Git-Url: https://git.lttng.org/?a=commitdiff_plain;h=e42c4f49c15b4365de8d01b1a010c9b7e95163b8;hp=e42c4f49c15b4365de8d01b1a010c9b7e95163b8;p=lttng-modules.git Split syscall tracepoint generation in their own files This commit tracepoint generation of the 4 different types of syscalls (entry, exit, entry_compat, and exit_compat) each in their own .c file. The compilation time of the lttng-modules projects is currently dominated by the compilation of the src/lttng-syscalls.o object. This is caused by the extensive use of macros to generate tracepoint for all syscalls. This also uses a lot of memory making the compilation of the project tedious on system with low memory. This allows for parallelization of the compilation which offers 2 improvements: Reduction of compilation time and reduction of the memory usage. In term of compilation time, on my 4 cpus laptop, I measured a 15sec (20%) speedup over 10 runs when using all 4 cpus (make -j4). On a larger machine (16 cpus), I measured 30sec (60%) speedup when using all 16 cpus. In term of memory usage, I was able to compile the project on a virtual machine with 500MB of memory without hitting memory exhaustion errors. Signed-off-by: Francis Deslauriers Signed-off-by: Mathieu Desnoyers Change-Id: I025a4c36ef16b935be2a86f5b6649526752a7393 ---