[lttng-dev] [PATCH] ring_buffer_frontend.c: include lttng-tracer-core.h

Mathieu Desnoyers mathieu.desnoyers at efficios.com
Thu Sep 20 09:54:16 EDT 2012


* Wade Farnsworth (wade_farnsworth at mentor.com) wrote:
> 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.

Good catch!

Merged into master and stable-2.0 branches.

Thanks!

Mathieu

> 
> 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
> 
> 
> _______________________________________________
> lttng-dev mailing list
> lttng-dev at lists.lttng.org
> http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev

-- 
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com



More information about the lttng-dev mailing list