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:09:07 +0000 (13:09 -0500)
commitf771eda68a28a432a87a7a71b23aab9692828700
treefe211d5f4774d71238963eab3f5766d79fad9bd4
parent887bcdac230a9081d5088bde59725edab93b8fb7
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.032746 seconds and 4 git commands to generate.