Create a memory pool for temporary tracepoint probes storage
authorJulien Desfossez <jdesfossez@efficios.com>
Fri, 23 Feb 2018 16:37:10 +0000 (11:37 -0500)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Fri, 23 Feb 2018 18:10:43 +0000 (13:10 -0500)
commitaa5d4c0dc4ba7a1f48a8a5e7e19888addc4548f0
tree438dde59536ff77e67c7354309bf3e226122eb7b
parentaba7d7fc4ec0cf2828ed50b22d6171074635e856
Create a memory pool for temporary tracepoint probes storage

This memory pool is created when the lttng-tracer module is loaded. It
allocates 4 buffers of 4k on each CPU. These buffers are designed to
allow tracepoint probes to temporarily store data that does not fit on
the stack (during the code_pre and code_post phases). The memory is
freed when the lttng-tracer module is unloaded.

This removes the need for dynamic allocation during the execution of
tracepoint probes, which does not behave well on PREEMPT_RT kernel, even
when invoked with the GFP_ATOMIC | GFP_NOWAIT flags.

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Makefile
lttng-abi.c
lttng-tp-mempool.c [new file with mode: 0644]
lttng-tp-mempool.h [new file with mode: 0644]
This page took 0.026824 seconds and 4 git commands to generate.