[lttng-dev] [PATCH] ring_buffer_frontend.c: include lttng-tracer-core.h
Wade Farnsworth
wade_farnsworth at mentor.com
Wed Sep 19 15:48:56 EDT 2012
In lib/ringbuffer/ring_buffer_frontend.c, RING_BUFFER_ALIGN is undefined,
leading to no alignment offset being recorded after the call to
config->cb.record_header_size() in lib_ring_buffer_try_reserve_slow().
However, lttng-ring-buffer-client.h does define RING_BUFFER_ALIGN, so
the alignment offset will be produced when the packet header is written
in lttng_write_event_header().
This discrepancy may be observed on architectures that don't set
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS, such as ARM, with a babeltrace
error such as:
babeltrace: ../../include/babeltrace/ctf/types.h:206: ctf_pos_get_event:
Assertion `pos->offset <= pos->content_size' failed.
Aborted
indicating that the actual content size differs from the calculated one
due to the difference in alignment. Including the appropriate header
file in ring_buffer_frontend.c solves the problem.
Signed-off-by: Wade Farnsworth <wade_farnsworth at mentor.com>
---
lib/ringbuffer/ring_buffer_frontend.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/lib/ringbuffer/ring_buffer_frontend.c b/lib/ringbuffer/ring_buffer_frontend.c
index dc0357f..a04333a 100644
--- a/lib/ringbuffer/ring_buffer_frontend.c
+++ b/lib/ringbuffer/ring_buffer_frontend.c
@@ -55,6 +55,7 @@
#include <linux/module.h>
#include <linux/percpu.h>
+#include "../../lttng-tracer-core.h"
#include "../../wrapper/ringbuffer/config.h"
#include "../../wrapper/ringbuffer/backend.h"
#include "../../wrapper/ringbuffer/frontend.h"
--
1.7.0.4
More information about the lttng-dev
mailing list