Add metadata channel, basic test passes
[lttng-modules.git] / ltt-ring-buffer-metadata-client.h
index 830e79909dedf546c52dbd94cfd1e48644ddb7f4..a0f6f9e12f2c45c75e6d13db2b9cc0db5dc4cf2f 100644 (file)
 #include "ltt-events.h"
 #include "ltt-tracer.h"
 
-#ifndef CHAR_BIT
-#define CHAR_BIT 8
-#endif
-
 struct metadata_packet_header {
        uint32_t magic;                 /* 0x75D11D57 */
        uint8_t  trace_uuid[16];        /* Unique Universal Identifier */
@@ -176,13 +172,10 @@ static
 struct lib_ring_buffer *ltt_buffer_read_open(struct channel *chan)
 {
        struct lib_ring_buffer *buf;
-       int cpu;
 
-       for_each_channel_cpu(cpu, chan) {
-               buf = channel_get_ring_buffer(&client_config, chan, cpu);
-               if (!lib_ring_buffer_open_read(buf))
-                       return buf;
-       }
+       buf = channel_get_ring_buffer(&client_config, chan, 0);
+       if (!lib_ring_buffer_open_read(buf))
+               return buf;
        return NULL;
 }
 
@@ -190,25 +183,33 @@ static
 void ltt_buffer_read_close(struct lib_ring_buffer *buf)
 {
        lib_ring_buffer_release_read(buf);
-       
 }
 
+static
 int ltt_event_reserve(struct lib_ring_buffer_ctx *ctx)
 {
        return lib_ring_buffer_reserve(&client_config, ctx);
 }
 
+static
 void ltt_event_commit(struct lib_ring_buffer_ctx *ctx)
 {
        lib_ring_buffer_commit(&client_config, ctx);
 }
 
+static
 void ltt_event_write(struct lib_ring_buffer_ctx *ctx, const void *src,
                     size_t len)
 {
        lib_ring_buffer_write(&client_config, ctx, src, len);
 }
 
+static
+wait_queue_head_t *ltt_get_reader_wait_queue(struct ltt_channel *chan)
+{
+       return &chan->chan->read_wait;
+}
+
 static struct ltt_transport ltt_relay_transport = {
        .name = "relay-" RING_BUFFER_MODE_TEMPLATE_STRING,
        .owner = THIS_MODULE,
@@ -220,6 +221,7 @@ static struct ltt_transport ltt_relay_transport = {
                .event_reserve = ltt_event_reserve,
                .event_commit = ltt_event_commit,
                .event_write = ltt_event_write,
+               .get_reader_wait_queue = ltt_get_reader_wait_queue,
        },
 };
 
This page took 0.025626 seconds and 4 git commands to generate.