X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=lttng-ring-buffer-client.h;h=8916ab0239a537215a310f05acf1b99c8ef97ff2;hb=refs%2Fheads%2Fstable-2.9;hp=7c9ae443419926433796ec79df5a6709c5398e84;hpb=bbd023d66d2368bbfdfb47325963d7e0123c7a8d;p=lttng-modules.git diff --git a/lttng-ring-buffer-client.h b/lttng-ring-buffer-client.h index 7c9ae443..8916ab02 100644 --- a/lttng-ring-buffer-client.h +++ b/lttng-ring-buffer-client.h @@ -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: