Document last supported kernel version for stable-2.10 branch
[lttng-modules.git] / lttng-ring-buffer-client.h
index d57dda192019a6f8bf78c825ff12bf7fddd01197..8916ab0239a537215a310f05acf1b99c8ef97ff2 100644 (file)
 
 #include <linux/module.h>
 #include <linux/types.h>
-#include "lib/bitfield.h"
-#include "wrapper/vmalloc.h"   /* for wrapper_vmalloc_sync_all() */
-#include "wrapper/trace-clock.h"
-#include "lttng-events.h"
-#include "lttng-tracer.h"
-#include "wrapper/ringbuffer/frontend_types.h"
+#include <lib/bitfield.h>
+#include <wrapper/vmalloc.h>   /* for wrapper_vmalloc_sync_all() */
+#include <wrapper/trace-clock.h>
+#include <lttng-events.h>
+#include <lttng-tracer.h>
+#include <wrapper/ringbuffer/frontend_types.h>
 
 #define LTTNG_COMPACT_EVENT_BITS       5
 #define LTTNG_COMPACT_TSC_BITS         27
@@ -170,14 +170,14 @@ size_t record_header_size(const struct lib_ring_buffer_config *config,
                padding = 0;
                WARN_ON_ONCE(1);
        }
-       offset += ctx_get_size(offset, event->ctx);
        offset += ctx_get_size(offset, lttng_chan->ctx);
+       offset += ctx_get_size(offset, event->ctx);
 
        *pre_header_padding = padding;
        return offset - orig_offset;
 }
 
-#include "wrapper/ringbuffer/api.h"
+#include <wrapper/ringbuffer/api.h>
 
 static
 void lttng_write_event_header_slow(const struct lib_ring_buffer_config *config,
@@ -464,9 +464,10 @@ static int client_stream_id(const struct lib_ring_buffer_config *config,
                        struct lib_ring_buffer *buf,
                        uint64_t *stream_id)
 {
-       struct packet_header *header = client_packet_header(config, buf);
-       *stream_id = header->stream_id;
+       struct channel *chan = buf->backend.chan;
+       struct lttng_channel *lttng_chan = channel_get_private(chan);
 
+       *stream_id = lttng_chan->id;
        return 0;
 }
 
@@ -495,8 +496,7 @@ int client_instance_id(const struct lib_ring_buffer_config *config,
                struct lib_ring_buffer *buf,
                uint64_t *id)
 {
-       struct packet_header *header = client_packet_header(config, buf);
-       *id = header->stream_instance_id;
+       *id = buf->backend.cpu;
 
        return 0;
 }
@@ -606,7 +606,7 @@ int lttng_event_reserve(struct lib_ring_buffer_ctx *ctx,
        int ret, cpu;
 
        cpu = lib_ring_buffer_get_cpu(&client_config);
-       if (cpu < 0)
+       if (unlikely(cpu < 0))
                return -EPERM;
        ctx->cpu = cpu;
 
@@ -624,8 +624,10 @@ int lttng_event_reserve(struct lib_ring_buffer_ctx *ctx,
        }
 
        ret = lib_ring_buffer_reserve(&client_config, ctx);
-       if (ret)
+       if (unlikely(ret))
                goto put;
+       lib_ring_buffer_backend_get_pages(&client_config, ctx,
+                       &ctx->backend_pages);
        lttng_write_event_header(&client_config, ctx, event_id);
        return 0;
 put:
This page took 0.024153 seconds and 4 git commands to generate.