X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Flttng-ring-buffer-client.h;h=f3c1935805a2b300caeee5da35b05cdfb2e73087;hb=77fcffefa34f8de5c4988eea035883a65c6befbc;hp=70eb555e282b837ed79487092fce1cc21df81b1c;hpb=4071a6283f2291a5894dc6b46608721fc6a56239;p=lttng-modules.git diff --git a/src/lttng-ring-buffer-client.h b/src/lttng-ring-buffer-client.h index 70eb555e..f3c19358 100644 --- a/src/lttng-ring-buffer-client.h +++ b/src/lttng-ring-buffer-client.h @@ -135,7 +135,7 @@ void ctx_record(struct lttng_kernel_ring_buffer_ctx *bufctx, * contains. */ static __inline__ -size_t record_header_size(const struct lib_ring_buffer_config *config, +size_t record_header_size(const struct lttng_kernel_ring_buffer_config *config, struct lttng_kernel_ring_buffer_channel *chan, size_t offset, size_t *pre_header_padding, struct lttng_kernel_ring_buffer_ctx *ctx, @@ -189,7 +189,7 @@ size_t record_header_size(const struct lib_ring_buffer_config *config, #include static -void lttng_write_event_header_slow(const struct lib_ring_buffer_config *config, +void lttng_write_event_header_slow(const struct lttng_kernel_ring_buffer_config *config, struct lttng_kernel_ring_buffer_ctx *ctx, uint32_t event_id); @@ -203,7 +203,7 @@ void lttng_write_event_header_slow(const struct lib_ring_buffer_config *config, * @event_id: event ID */ static __inline__ -void lttng_write_event_header(const struct lib_ring_buffer_config *config, +void lttng_write_event_header(const struct lttng_kernel_ring_buffer_config *config, struct lttng_kernel_ring_buffer_ctx *ctx, uint32_t event_id) { @@ -252,7 +252,7 @@ slow_path: } static -void lttng_write_event_header_slow(const struct lib_ring_buffer_config *config, +void lttng_write_event_header_slow(const struct lttng_kernel_ring_buffer_config *config, struct lttng_kernel_ring_buffer_ctx *ctx, uint32_t event_id) { @@ -316,7 +316,7 @@ void lttng_write_event_header_slow(const struct lib_ring_buffer_config *config, lib_ring_buffer_align_ctx(ctx, ctx->largest_align); } -static const struct lib_ring_buffer_config client_config; +static const struct lttng_kernel_ring_buffer_config client_config; static u64 client_ring_buffer_clock_read(struct lttng_kernel_ring_buffer_channel *chan) { @@ -324,7 +324,7 @@ static u64 client_ring_buffer_clock_read(struct lttng_kernel_ring_buffer_channel } static -size_t client_record_header_size(const struct lib_ring_buffer_config *config, +size_t client_record_header_size(const struct lttng_kernel_ring_buffer_config *config, struct lttng_kernel_ring_buffer_channel *chan, size_t offset, size_t *pre_header_padding, struct lttng_kernel_ring_buffer_ctx *ctx, @@ -346,7 +346,7 @@ static size_t client_packet_header_size(void) return offsetof(struct packet_header, ctx.header_end); } -static void client_buffer_begin(struct lib_ring_buffer *buf, u64 tsc, +static void client_buffer_begin(struct lttng_kernel_ring_buffer *buf, u64 tsc, unsigned int subbuf_idx) { struct lttng_kernel_ring_buffer_channel *chan = buf->backend.chan; @@ -376,7 +376,7 @@ static void client_buffer_begin(struct lib_ring_buffer *buf, u64 tsc, * offset is assumed to never be 0 here : never deliver a completely empty * subbuffer. data_size is between 1 and subbuf_size. */ -static void client_buffer_end(struct lib_ring_buffer *buf, u64 tsc, +static void client_buffer_end(struct lttng_kernel_ring_buffer *buf, u64 tsc, unsigned int subbuf_idx, unsigned long data_size) { struct lttng_kernel_ring_buffer_channel *chan = buf->backend.chan; @@ -397,25 +397,25 @@ static void client_buffer_end(struct lib_ring_buffer *buf, u64 tsc, header->ctx.events_discarded = records_lost; } -static int client_buffer_create(struct lib_ring_buffer *buf, void *priv, +static int client_buffer_create(struct lttng_kernel_ring_buffer *buf, void *priv, int cpu, const char *name) { return 0; } -static void client_buffer_finalize(struct lib_ring_buffer *buf, void *priv, int cpu) +static void client_buffer_finalize(struct lttng_kernel_ring_buffer *buf, void *priv, int cpu) { } static struct packet_header *client_packet_header( - const struct lib_ring_buffer_config *config, - struct lib_ring_buffer *buf) + const struct lttng_kernel_ring_buffer_config *config, + struct lttng_kernel_ring_buffer *buf) { return lib_ring_buffer_read_offset_address(&buf->backend, 0); } -static int client_timestamp_begin(const struct lib_ring_buffer_config *config, - struct lib_ring_buffer *buf, +static int client_timestamp_begin(const struct lttng_kernel_ring_buffer_config *config, + struct lttng_kernel_ring_buffer *buf, uint64_t *timestamp_begin) { struct packet_header *header = client_packet_header(config, buf); @@ -424,8 +424,8 @@ static int client_timestamp_begin(const struct lib_ring_buffer_config *config, return 0; } -static int client_timestamp_end(const struct lib_ring_buffer_config *config, - struct lib_ring_buffer *buf, +static int client_timestamp_end(const struct lttng_kernel_ring_buffer_config *config, + struct lttng_kernel_ring_buffer *buf, uint64_t *timestamp_end) { struct packet_header *header = client_packet_header(config, buf); @@ -434,8 +434,8 @@ static int client_timestamp_end(const struct lib_ring_buffer_config *config, return 0; } -static int client_events_discarded(const struct lib_ring_buffer_config *config, - struct lib_ring_buffer *buf, +static int client_events_discarded(const struct lttng_kernel_ring_buffer_config *config, + struct lttng_kernel_ring_buffer *buf, uint64_t *events_discarded) { struct packet_header *header = client_packet_header(config, buf); @@ -444,8 +444,8 @@ static int client_events_discarded(const struct lib_ring_buffer_config *config, return 0; } -static int client_content_size(const struct lib_ring_buffer_config *config, - struct lib_ring_buffer *buf, +static int client_content_size(const struct lttng_kernel_ring_buffer_config *config, + struct lttng_kernel_ring_buffer *buf, uint64_t *content_size) { struct packet_header *header = client_packet_header(config, buf); @@ -454,8 +454,8 @@ static int client_content_size(const struct lib_ring_buffer_config *config, return 0; } -static int client_packet_size(const struct lib_ring_buffer_config *config, - struct lib_ring_buffer *buf, +static int client_packet_size(const struct lttng_kernel_ring_buffer_config *config, + struct lttng_kernel_ring_buffer *buf, uint64_t *packet_size) { struct packet_header *header = client_packet_header(config, buf); @@ -464,8 +464,8 @@ static int client_packet_size(const struct lib_ring_buffer_config *config, return 0; } -static int client_stream_id(const struct lib_ring_buffer_config *config, - struct lib_ring_buffer *buf, +static int client_stream_id(const struct lttng_kernel_ring_buffer_config *config, + struct lttng_kernel_ring_buffer *buf, uint64_t *stream_id) { struct lttng_kernel_ring_buffer_channel *chan = buf->backend.chan; @@ -475,8 +475,8 @@ static int client_stream_id(const struct lib_ring_buffer_config *config, return 0; } -static int client_current_timestamp(const struct lib_ring_buffer_config *config, - struct lib_ring_buffer *bufb, +static int client_current_timestamp(const struct lttng_kernel_ring_buffer_config *config, + struct lttng_kernel_ring_buffer *bufb, uint64_t *ts) { *ts = config->cb.ring_buffer_clock_read(bufb->backend.chan); @@ -484,8 +484,8 @@ static int client_current_timestamp(const struct lib_ring_buffer_config *config, return 0; } -static int client_sequence_number(const struct lib_ring_buffer_config *config, - struct lib_ring_buffer *buf, +static int client_sequence_number(const struct lttng_kernel_ring_buffer_config *config, + struct lttng_kernel_ring_buffer *buf, uint64_t *seq) { struct packet_header *header = client_packet_header(config, buf); @@ -496,8 +496,8 @@ static int client_sequence_number(const struct lib_ring_buffer_config *config, } static -int client_instance_id(const struct lib_ring_buffer_config *config, - struct lib_ring_buffer *buf, +int client_instance_id(const struct lttng_kernel_ring_buffer_config *config, + struct lttng_kernel_ring_buffer *buf, uint64_t *id) { *id = buf->backend.cpu; @@ -505,7 +505,7 @@ int client_instance_id(const struct lib_ring_buffer_config *config, return 0; } -static const struct lib_ring_buffer_config client_config = { +static const struct lttng_kernel_ring_buffer_config client_config = { .cb.ring_buffer_clock_read = client_ring_buffer_clock_read, .cb.record_header_size = client_record_header_size, .cb.subbuffer_header_size = client_packet_header_size, @@ -570,9 +570,9 @@ error: } static -struct lib_ring_buffer *lttng_buffer_read_open(struct lttng_kernel_ring_buffer_channel *chan) +struct lttng_kernel_ring_buffer *lttng_buffer_read_open(struct lttng_kernel_ring_buffer_channel *chan) { - struct lib_ring_buffer *buf; + struct lttng_kernel_ring_buffer *buf; int cpu; for_each_channel_cpu(cpu, chan) { @@ -586,7 +586,7 @@ struct lib_ring_buffer *lttng_buffer_read_open(struct lttng_kernel_ring_buffer_c static int lttng_buffer_has_read_closed_stream(struct lttng_kernel_ring_buffer_channel *chan) { - struct lib_ring_buffer *buf; + struct lttng_kernel_ring_buffer *buf; int cpu; for_each_channel_cpu(cpu, chan) { @@ -598,7 +598,7 @@ int lttng_buffer_has_read_closed_stream(struct lttng_kernel_ring_buffer_channel } static -void lttng_buffer_read_close(struct lib_ring_buffer *buf) +void lttng_buffer_read_close(struct lttng_kernel_ring_buffer *buf) { lib_ring_buffer_release_read(buf); } @@ -657,15 +657,17 @@ void lttng_event_commit(struct lttng_kernel_ring_buffer_ctx *ctx) static void lttng_event_write(struct lttng_kernel_ring_buffer_ctx *ctx, const void *src, - size_t len) + size_t len, size_t alignment) { + lib_ring_buffer_align_ctx(ctx, alignment); lib_ring_buffer_write(&client_config, ctx, src, len); } static void lttng_event_write_from_user(struct lttng_kernel_ring_buffer_ctx *ctx, - const void __user *src, size_t len) + const void __user *src, size_t len, size_t alignment) { + lib_ring_buffer_align_ctx(ctx, alignment); lib_ring_buffer_copy_from_user_inatomic(&client_config, ctx, src, len); } @@ -700,7 +702,7 @@ void lttng_channel_buffer_lost_event_too_big(struct lttng_kernel_channel_buffer static wait_queue_head_t *lttng_get_writer_buf_wait_queue(struct lttng_kernel_ring_buffer_channel *chan, int cpu) { - struct lib_ring_buffer *buf = channel_get_ring_buffer(&client_config, + struct lttng_kernel_ring_buffer *buf = channel_get_ring_buffer(&client_config, chan, cpu); return &buf->write_wait; }