X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=ltt-ring-buffer-metadata-client.h;h=a0f6f9e12f2c45c75e6d13db2b9cc0db5dc4cf2f;hb=cd4bd11fe2d3232089186a5b9b021b7cb504a8fb;hp=830e79909dedf546c52dbd94cfd1e48644ddb7f4;hpb=881833e349e275ac324fc3abf8a34d76f91047ea;p=lttng-modules.git diff --git a/ltt-ring-buffer-metadata-client.h b/ltt-ring-buffer-metadata-client.h index 830e7990..a0f6f9e1 100644 --- a/ltt-ring-buffer-metadata-client.h +++ b/ltt-ring-buffer-metadata-client.h @@ -14,10 +14,6 @@ #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, }, };