From 5198080d2234eb06e95d245d0a9747810f496475 Mon Sep 17 00:00:00 2001 From: Michael Jeanson Date: Fri, 12 Mar 2021 15:27:26 -0500 Subject: [PATCH] Namespace 'struct channel' under 'lttng_ust_lib_ring_buffer_' The major SONAME bump to '1' gives us the opportunity to properly namespace some older parts of the API. Change-Id: Iab40cde0c9ccc36d9fb537d665eb11d8d96da847 Signed-off-by: Michael Jeanson Signed-off-by: Mathieu Desnoyers --- include/lttng/ringbuffer-config.h | 20 ++-- include/lttng/ust-events.h | 13 +-- liblttng-ust-ctl/ustctl.c | 22 ++--- liblttng-ust/lttng-events.c | 2 +- liblttng-ust/lttng-ring-buffer-client.h | 30 +++--- .../lttng-ring-buffer-metadata-client.h | 28 +++--- liblttng-ust/lttng-ust-abi.c | 4 +- libringbuffer/backend.h | 2 +- libringbuffer/backend_internal.h | 9 +- libringbuffer/backend_types.h | 4 +- libringbuffer/frontend.h | 21 +++-- libringbuffer/frontend_api.h | 10 +- libringbuffer/frontend_internal.h | 35 ++++--- libringbuffer/frontend_types.h | 13 +-- libringbuffer/ring_buffer_backend.c | 6 +- libringbuffer/ring_buffer_frontend.c | 93 ++++++++++--------- libringbuffer/shm.h | 3 +- libringbuffer/shm_types.h | 4 +- 18 files changed, 172 insertions(+), 147 deletions(-) diff --git a/include/lttng/ringbuffer-config.h b/include/lttng/ringbuffer-config.h index f668e949..00f655e5 100644 --- a/include/lttng/ringbuffer-config.h +++ b/include/lttng/ringbuffer-config.h @@ -20,7 +20,7 @@ #include struct lttng_ust_lib_ring_buffer; -struct channel; +struct lttng_ust_lib_ring_buffer_channel; struct lttng_ust_lib_ring_buffer_config; struct lttng_ust_lib_ring_buffer_ctx; struct lttng_ust_shm_handle; @@ -35,9 +35,10 @@ struct lttng_ust_lib_ring_buffer_client_cb { /* Mandatory callbacks */ /* A static inline version is also required for fast path */ - uint64_t (*ring_buffer_clock_read) (struct channel *chan); + uint64_t (*ring_buffer_clock_read) (struct lttng_ust_lib_ring_buffer_channel *chan); size_t (*record_header_size) (const struct lttng_ust_lib_ring_buffer_config *config, - struct channel *chan, size_t offset, + struct lttng_ust_lib_ring_buffer_channel *chan, + size_t offset, size_t *pre_header_padding, struct lttng_ust_lib_ring_buffer_ctx *ctx, void *client_ctx); @@ -71,7 +72,8 @@ struct lttng_ust_lib_ring_buffer_client_cb { * iterator. */ void (*record_get) (const struct lttng_ust_lib_ring_buffer_config *config, - struct channel *chan, struct lttng_ust_lib_ring_buffer *buf, + struct lttng_ust_lib_ring_buffer_channel *chan, + struct lttng_ust_lib_ring_buffer *buf, size_t offset, size_t *header_len, size_t *payload_len, uint64_t *timestamp, struct lttng_ust_shm_handle *handle); @@ -215,7 +217,7 @@ struct lttng_ust_lib_ring_buffer_ctx { uint32_t struct_size; /* Size of this structure. */ /* input received by lib_ring_buffer_reserve(), saved here. */ - struct channel *chan; /* channel */ + struct lttng_ust_lib_ring_buffer_channel *chan; /* channel */ void *priv; /* client private data */ struct lttng_ust_shm_handle *handle; /* shared-memory handle */ size_t data_size; /* size of payload */ @@ -255,13 +257,13 @@ struct lttng_ust_lib_ring_buffer_ctx { */ static inline lttng_ust_notrace void lib_ring_buffer_ctx_init(struct lttng_ust_lib_ring_buffer_ctx *ctx, - struct channel *chan, void *priv, - size_t data_size, int largest_align, + struct lttng_ust_lib_ring_buffer_channel *chan, + void *priv, size_t data_size, int largest_align, int cpu, struct lttng_ust_shm_handle *handle); static inline void lib_ring_buffer_ctx_init(struct lttng_ust_lib_ring_buffer_ctx *ctx, - struct channel *chan, void *priv, - size_t data_size, int largest_align, + struct lttng_ust_lib_ring_buffer_channel *chan, + void *priv, size_t data_size, int largest_align, int cpu, struct lttng_ust_shm_handle *handle) { ctx->struct_size = sizeof(struct lttng_ust_lib_ring_buffer_ctx); diff --git a/include/lttng/ust-events.h b/include/lttng/ust-events.h index de7d322a..65078427 100644 --- a/include/lttng/ust-events.h +++ b/include/lttng/ust-events.h @@ -438,7 +438,7 @@ struct lttng_ust_event_notifier { /* End of base ABI. Fields below should be used after checking struct_size. */ }; -struct channel; +struct lttng_ust_lib_ring_buffer_channel; struct lttng_ust_shm_handle; /* @@ -473,11 +473,12 @@ struct lttng_ust_channel_ops { * packet. Note that the size returned is only a hint, since it * may change due to concurrent writes. */ - size_t (*packet_avail_size)(struct channel *chan, + size_t (*packet_avail_size)(struct lttng_ust_lib_ring_buffer_channel *chan, struct lttng_ust_shm_handle *handle); - int (*is_finalized)(struct channel *chan); - int (*is_disabled)(struct channel *chan); - int (*flush_buffer)(struct channel *chan, struct lttng_ust_shm_handle *handle); + int (*is_finalized)(struct lttng_ust_lib_ring_buffer_channel *chan); + int (*is_disabled)(struct lttng_ust_lib_ring_buffer_channel *chan); + int (*flush_buffer)(struct lttng_ust_lib_ring_buffer_channel *chan, + struct lttng_ust_shm_handle *handle); void (*event_strcpy)(struct lttng_ust_lib_ring_buffer_ctx *ctx, const char *src, size_t len); @@ -496,7 +497,7 @@ struct lttng_channel { * consumer process is designed to be allowed to do is to read * and perform subbuffer flush. */ - struct channel *chan; /* Channel buffers */ + struct lttng_ust_lib_ring_buffer_channel *chan; /* Channel buffers */ int enabled; struct lttng_ctx *ctx; /* Event ID management */ diff --git a/liblttng-ust-ctl/ustctl.c b/liblttng-ust-ctl/ustctl.c index 5fd54df8..84476a97 100644 --- a/liblttng-ust-ctl/ustctl.c +++ b/liblttng-ust-ctl/ustctl.c @@ -1417,7 +1417,7 @@ end: int ustctl_channel_close_wait_fd(struct ustctl_consumer_channel *consumer_chan) { - struct channel *chan; + struct lttng_ust_lib_ring_buffer_channel *chan; int ret; chan = consumer_chan->chan->chan; @@ -1430,7 +1430,7 @@ int ustctl_channel_close_wait_fd(struct ustctl_consumer_channel *consumer_chan) int ustctl_channel_close_wakeup_fd(struct ustctl_consumer_channel *consumer_chan) { - struct channel *chan; + struct lttng_ust_lib_ring_buffer_channel *chan; int ret; chan = consumer_chan->chan->chan; @@ -1443,7 +1443,7 @@ int ustctl_channel_close_wakeup_fd(struct ustctl_consumer_channel *consumer_chan int ustctl_stream_close_wait_fd(struct ustctl_consumer_stream *stream) { - struct channel *chan; + struct lttng_ust_lib_ring_buffer_channel *chan; chan = stream->chan->chan->chan; return ring_buffer_stream_close_wait_fd(&chan->backend.config, @@ -1452,7 +1452,7 @@ int ustctl_stream_close_wait_fd(struct ustctl_consumer_stream *stream) int ustctl_stream_close_wakeup_fd(struct ustctl_consumer_stream *stream) { - struct channel *chan; + struct lttng_ust_lib_ring_buffer_channel *chan; chan = stream->chan->chan->chan; return ring_buffer_stream_close_wakeup_fd(&chan->backend.config, @@ -1465,7 +1465,7 @@ struct ustctl_consumer_stream * { struct ustctl_consumer_stream *stream; struct lttng_ust_shm_handle *handle; - struct channel *chan; + struct lttng_ust_lib_ring_buffer_channel *chan; int shm_fd, wait_fd, wakeup_fd; uint64_t memory_map_size; struct lttng_ust_lib_ring_buffer *buf; @@ -1578,7 +1578,7 @@ int ustctl_get_mmap_len(struct ustctl_consumer_stream *stream, { struct ustctl_consumer_channel *consumer_chan; unsigned long mmap_buf_len; - struct channel *chan; + struct lttng_ust_lib_ring_buffer_channel *chan; if (!stream) return -EINVAL; @@ -1600,7 +1600,7 @@ int ustctl_get_max_subbuf_size(struct ustctl_consumer_stream *stream, unsigned long *len) { struct ustctl_consumer_channel *consumer_chan; - struct channel *chan; + struct lttng_ust_lib_ring_buffer_channel *chan; if (!stream) return -EINVAL; @@ -1619,7 +1619,7 @@ int ustctl_get_max_subbuf_size(struct ustctl_consumer_stream *stream, int ustctl_get_mmap_read_offset(struct ustctl_consumer_stream *stream, unsigned long *off) { - struct channel *chan; + struct lttng_ust_lib_ring_buffer_channel *chan; unsigned long sb_bindex; struct lttng_ust_lib_ring_buffer *buf; struct ustctl_consumer_channel *consumer_chan; @@ -1651,7 +1651,7 @@ int ustctl_get_subbuf_size(struct ustctl_consumer_stream *stream, unsigned long *len) { struct ustctl_consumer_channel *consumer_chan; - struct channel *chan; + struct lttng_ust_lib_ring_buffer_channel *chan; struct lttng_ust_lib_ring_buffer *buf; if (!stream) @@ -1670,7 +1670,7 @@ int ustctl_get_padded_subbuf_size(struct ustctl_consumer_stream *stream, unsigned long *len) { struct ustctl_consumer_channel *consumer_chan; - struct channel *chan; + struct lttng_ust_lib_ring_buffer_channel *chan; struct lttng_ust_lib_ring_buffer *buf; if (!stream) @@ -1835,7 +1835,7 @@ struct lttng_ust_client_lib_ring_buffer_client_cb *get_client_cb( struct lttng_ust_lib_ring_buffer *buf, struct lttng_ust_shm_handle *handle) { - struct channel *chan; + struct lttng_ust_lib_ring_buffer_channel *chan; const struct lttng_ust_lib_ring_buffer_config *config; struct lttng_ust_client_lib_ring_buffer_client_cb *client_cb; diff --git a/liblttng-ust/lttng-events.c b/liblttng-ust/lttng-events.c index ad71efef..4af0bc6d 100644 --- a/liblttng-ust/lttng-events.c +++ b/liblttng-ust/lttng-events.c @@ -232,7 +232,7 @@ struct lttng_event_notifier_group *lttng_event_notifier_group_create(void) static void _lttng_channel_unmap(struct lttng_channel *lttng_chan) { - struct channel *chan; + struct lttng_ust_lib_ring_buffer_channel *chan; struct lttng_ust_shm_handle *handle; cds_list_del(<tng_chan->node); diff --git a/liblttng-ust/lttng-ring-buffer-client.h b/liblttng-ust/lttng-ring-buffer-client.h index ad336737..09d58c5f 100644 --- a/liblttng-ust/lttng-ring-buffer-client.h +++ b/liblttng-ust/lttng-ring-buffer-client.h @@ -64,7 +64,7 @@ struct lttng_client_ctx { size_t event_context_len; }; -static inline uint64_t lib_ring_buffer_clock_read(struct channel *chan) +static inline uint64_t lib_ring_buffer_clock_read(struct lttng_ust_lib_ring_buffer_channel *chan) { return trace_clock_read64(); } @@ -166,7 +166,8 @@ void ctx_record(struct lttng_ust_lib_ring_buffer_ctx *bufctx, */ static __inline__ size_t record_header_size(const struct lttng_ust_lib_ring_buffer_config *config, - struct channel *chan, size_t offset, + struct lttng_ust_lib_ring_buffer_channel *chan, + size_t offset, size_t *pre_header_padding, struct lttng_ust_lib_ring_buffer_ctx *ctx, struct lttng_client_ctx *client_ctx) @@ -357,14 +358,15 @@ void lttng_write_event_header_slow(const struct lttng_ust_lib_ring_buffer_config static const struct lttng_ust_lib_ring_buffer_config client_config; -static uint64_t client_ring_buffer_clock_read(struct channel *chan) +static uint64_t client_ring_buffer_clock_read(struct lttng_ust_lib_ring_buffer_channel *chan) { return lib_ring_buffer_clock_read(chan); } static size_t client_record_header_size(const struct lttng_ust_lib_ring_buffer_config *config, - struct channel *chan, size_t offset, + struct lttng_ust_lib_ring_buffer_channel *chan, + size_t offset, size_t *pre_header_padding, struct lttng_ust_lib_ring_buffer_ctx *ctx, void *client_ctx) @@ -389,7 +391,7 @@ static void client_buffer_begin(struct lttng_ust_lib_ring_buffer *buf, uint64_t unsigned int subbuf_idx, struct lttng_ust_shm_handle *handle) { - struct channel *chan = shmp(handle, buf->backend.chan); + struct lttng_ust_lib_ring_buffer_channel *chan = shmp(handle, buf->backend.chan); struct packet_header *header = (struct packet_header *) lib_ring_buffer_offset_address(&buf->backend, @@ -422,7 +424,7 @@ static void client_buffer_end(struct lttng_ust_lib_ring_buffer *buf, uint64_t ts unsigned int subbuf_idx, unsigned long data_size, struct lttng_ust_shm_handle *handle) { - struct channel *chan = shmp(handle, buf->backend.chan); + struct lttng_ust_lib_ring_buffer_channel *chan = shmp(handle, buf->backend.chan); struct packet_header *header = (struct packet_header *) lib_ring_buffer_offset_address(&buf->backend, @@ -544,7 +546,8 @@ static int client_stream_id(struct lttng_ust_lib_ring_buffer *buf, struct lttng_ust_shm_handle *handle, uint64_t *stream_id) { - struct channel *chan = shmp(handle, buf->backend.chan); + struct lttng_ust_lib_ring_buffer_channel *chan = shmp(handle, + buf->backend.chan); struct lttng_channel *lttng_chan = channel_get_private(chan); *stream_id = lttng_chan->id; @@ -556,7 +559,7 @@ static int client_current_timestamp(struct lttng_ust_lib_ring_buffer *buf, struct lttng_ust_shm_handle *handle, uint64_t *ts) { - struct channel *chan; + struct lttng_ust_lib_ring_buffer_channel *chan; chan = shmp(handle, handle->chan); *ts = client_ring_buffer_clock_read(chan); @@ -746,32 +749,33 @@ void lttng_event_strcpy(struct lttng_ust_lib_ring_buffer_ctx *ctx, const char *s #if 0 static -wait_queue_head_t *lttng_get_reader_wait_queue(struct channel *chan) +wait_queue_head_t *lttng_get_reader_wait_queue(struct lttng_ust_lib_ring_buffer_channel *chan) { return &chan->read_wait; } static -wait_queue_head_t *lttng_get_hp_wait_queue(struct channel *chan) +wait_queue_head_t *lttng_get_hp_wait_queue(struct lttng_ust_lib_ring_buffer_channel *chan) { return &chan->hp_wait; } #endif //0 static -int lttng_is_finalized(struct channel *chan) +int lttng_is_finalized(struct lttng_ust_lib_ring_buffer_channel *chan) { return lib_ring_buffer_channel_is_finalized(chan); } static -int lttng_is_disabled(struct channel *chan) +int lttng_is_disabled(struct lttng_ust_lib_ring_buffer_channel *chan) { return lib_ring_buffer_channel_is_disabled(chan); } static -int lttng_flush_buffer(struct channel *chan, struct lttng_ust_shm_handle *handle) +int lttng_flush_buffer(struct lttng_ust_lib_ring_buffer_channel *chan, + struct lttng_ust_shm_handle *handle) { struct lttng_ust_lib_ring_buffer *buf; int cpu; diff --git a/liblttng-ust/lttng-ring-buffer-metadata-client.h b/liblttng-ust/lttng-ring-buffer-metadata-client.h index bb5c5dfe..ae606b4c 100644 --- a/liblttng-ust/lttng-ring-buffer-metadata-client.h +++ b/liblttng-ust/lttng-ring-buffer-metadata-client.h @@ -35,14 +35,15 @@ struct metadata_record_header { static const struct lttng_ust_lib_ring_buffer_config client_config; -static inline uint64_t lib_ring_buffer_clock_read(struct channel *chan) +static inline uint64_t lib_ring_buffer_clock_read(struct lttng_ust_lib_ring_buffer_channel *chan) { return 0; } static inline size_t record_header_size(const struct lttng_ust_lib_ring_buffer_config *config, - struct channel *chan, size_t offset, + struct lttng_ust_lib_ring_buffer_channel *chan, + size_t offset, size_t *pre_header_padding, struct lttng_ust_lib_ring_buffer_ctx *ctx, void *client_ctx) @@ -53,14 +54,15 @@ size_t record_header_size(const struct lttng_ust_lib_ring_buffer_config *config, #include "../libringbuffer/api.h" #include "lttng-rb-clients.h" -static uint64_t client_ring_buffer_clock_read(struct channel *chan) +static uint64_t client_ring_buffer_clock_read(struct lttng_ust_lib_ring_buffer_channel *chan) { return 0; } static size_t client_record_header_size(const struct lttng_ust_lib_ring_buffer_config *config, - struct channel *chan, size_t offset, + struct lttng_ust_lib_ring_buffer_channel *chan, + size_t offset, size_t *pre_header_padding, struct lttng_ust_lib_ring_buffer_ctx *ctx, void *client_ctx) @@ -84,7 +86,7 @@ static void client_buffer_begin(struct lttng_ust_lib_ring_buffer *buf, uint64_t unsigned int subbuf_idx, struct lttng_ust_shm_handle *handle) { - struct channel *chan = shmp(handle, buf->backend.chan); + struct lttng_ust_lib_ring_buffer_channel *chan = shmp(handle, buf->backend.chan); struct metadata_packet_header *header = (struct metadata_packet_header *) lib_ring_buffer_offset_address(&buf->backend, @@ -115,7 +117,7 @@ static void client_buffer_end(struct lttng_ust_lib_ring_buffer *buf, uint64_t ts unsigned int subbuf_idx, unsigned long data_size, struct lttng_ust_shm_handle *handle) { - struct channel *chan = shmp(handle, buf->backend.chan); + struct lttng_ust_lib_ring_buffer_channel *chan = shmp(handle, buf->backend.chan); struct metadata_packet_header *header = (struct metadata_packet_header *) lib_ring_buffer_offset_address(&buf->backend, @@ -255,7 +257,8 @@ void lttng_event_write(struct lttng_ust_lib_ring_buffer_ctx *ctx, const void *sr } static -size_t lttng_packet_avail_size(struct channel *chan, struct lttng_ust_shm_handle *handle) +size_t lttng_packet_avail_size(struct lttng_ust_lib_ring_buffer_channel *chan, + struct lttng_ust_shm_handle *handle) { unsigned long o_begin; struct lttng_ust_lib_ring_buffer *buf; @@ -272,32 +275,33 @@ size_t lttng_packet_avail_size(struct channel *chan, struct lttng_ust_shm_handle #if 0 static -wait_queue_head_t *lttng_get_reader_wait_queue(struct channel *chan) +wait_queue_head_t *lttng_get_reader_wait_queue(struct lttng_ust_lib_ring_buffer_channel *chan) { return &chan->read_wait; } static -wait_queue_head_t *lttng_get_hp_wait_queue(struct channel *chan) +wait_queue_head_t *lttng_get_hp_wait_queue(struct lttng_ust_lib_ring_buffer_channel *chan) { return &chan->hp_wait; } #endif //0 static -int lttng_is_finalized(struct channel *chan) +int lttng_is_finalized(struct lttng_ust_lib_ring_buffer_channel *chan) { return lib_ring_buffer_channel_is_finalized(chan); } static -int lttng_is_disabled(struct channel *chan) +int lttng_is_disabled(struct lttng_ust_lib_ring_buffer_channel *chan) { return lib_ring_buffer_channel_is_disabled(chan); } static -int lttng_flush_buffer(struct channel *chan, struct lttng_ust_shm_handle *handle) +int lttng_flush_buffer(struct lttng_ust_lib_ring_buffer_channel *chan, + struct lttng_ust_shm_handle *handle) { struct lttng_ust_lib_ring_buffer *buf; int shm_fd, wait_fd, wakeup_fd; diff --git a/liblttng-ust/lttng-ust-abi.c b/liblttng-ust/lttng-ust-abi.c index c4e84f3e..79531763 100644 --- a/liblttng-ust/lttng-ust-abi.c +++ b/liblttng-ust/lttng-ust-abi.c @@ -289,7 +289,7 @@ int lttng_abi_create_root_handle(void) static int lttng_is_channel_ready(struct lttng_channel *lttng_chan) { - struct channel *chan; + struct lttng_ust_lib_ring_buffer_channel *chan; unsigned int nr_streams, exp_streams; chan = lttng_chan->chan; @@ -449,7 +449,7 @@ int lttng_abi_map_channel(int session_objd, int chan_objd; struct lttng_ust_shm_handle *channel_handle; struct lttng_channel *lttng_chan; - struct channel *chan; + struct lttng_ust_lib_ring_buffer_channel *chan; struct lttng_ust_lib_ring_buffer_config *config; void *chan_data; int wakeup_fd; diff --git a/libringbuffer/backend.h b/libringbuffer/backend.h index e95bb7bc..4ecbfe53 100644 --- a/libringbuffer/backend.h +++ b/libringbuffer/backend.h @@ -196,7 +196,7 @@ unsigned long lib_ring_buffer_get_records_unread( struct lttng_ust_lib_ring_buffer_backend *bufb = &buf->backend; unsigned long records_unread = 0, sb_bindex; unsigned int i; - struct channel *chan; + struct lttng_ust_lib_ring_buffer_channel *chan; chan = shmp(handle, bufb->chan); if (!chan) diff --git a/libringbuffer/backend_internal.h b/libringbuffer/backend_internal.h index f0a66d46..60c97d42 100644 --- a/libringbuffer/backend_internal.h +++ b/libringbuffer/backend_internal.h @@ -25,7 +25,8 @@ __attribute__((visibility("hidden"))) int lib_ring_buffer_backend_create(struct lttng_ust_lib_ring_buffer_backend *bufb, - struct channel_backend *chan, int cpu, + struct channel_backend *chan, + int cpu, struct lttng_ust_shm_handle *handle, struct shm_object *shmobj); @@ -284,7 +285,7 @@ void subbuffer_consume_record(const struct lttng_ust_lib_ring_buffer_config *con struct lttng_ust_shm_handle *handle) { unsigned long sb_bindex; - struct channel *chan; + struct lttng_ust_lib_ring_buffer_channel *chan; struct lttng_ust_lib_ring_buffer_backend_pages_shmp *pages_shmp; struct lttng_ust_lib_ring_buffer_backend_pages *backend_pages; @@ -504,7 +505,7 @@ void lib_ring_buffer_set_noref_offset(const struct lttng_ust_lib_ring_buffer_con struct lttng_ust_shm_handle *handle) { struct lttng_ust_lib_ring_buffer_backend_subbuffer *wsb; - struct channel *chan; + struct lttng_ust_lib_ring_buffer_channel *chan; if (config->mode != RING_BUFFER_OVERWRITE) return; @@ -554,7 +555,7 @@ int update_read_sb_index(const struct lttng_ust_lib_ring_buffer_config *config, return -EPERM; if (config->mode == RING_BUFFER_OVERWRITE) { - struct channel *chan; + struct lttng_ust_lib_ring_buffer_channel *chan; /* * Exchange the target writer subbuffer with our own unused diff --git a/libringbuffer/backend_types.h b/libringbuffer/backend_types.h index f821c27f..19d6513d 100644 --- a/libringbuffer/backend_types.h +++ b/libringbuffer/backend_types.h @@ -42,7 +42,7 @@ struct lttng_ust_lib_ring_buffer_backend_counts { /* * Forward declaration of frontend-specific channel and ring_buffer. */ -struct channel; +struct lttng_ust_lib_ring_buffer_channel; struct lttng_ust_lib_ring_buffer; struct lttng_ust_lib_ring_buffer_backend_pages_shmp { @@ -64,7 +64,7 @@ struct lttng_ust_lib_ring_buffer_backend { DECLARE_SHMP(struct lttng_ust_lib_ring_buffer_backend_pages_shmp, array); DECLARE_SHMP(char, memory_map); /* memory mapping */ - DECLARE_SHMP(struct channel, chan); /* Associated channel */ + DECLARE_SHMP(struct lttng_ust_lib_ring_buffer_channel, chan); /* Associated channel */ int cpu; /* This buffer's cpu. -1 if global. */ union v_atomic records_read; /* Number of records read */ unsigned int allocated:1; /* is buffer allocated ? */ diff --git a/libringbuffer/frontend.h b/libringbuffer/frontend.h index 2ab369e5..de924a0a 100644 --- a/libringbuffer/frontend.h +++ b/libringbuffer/frontend.h @@ -61,7 +61,8 @@ struct lttng_ust_shm_handle *channel_create(const struct lttng_ust_lib_ring_buff */ __attribute__((visibility("hidden"))) extern -void channel_destroy(struct channel *chan, struct lttng_ust_shm_handle *handle, +void channel_destroy(struct lttng_ust_lib_ring_buffer_channel *chan, + struct lttng_ust_shm_handle *handle, int consumer); @@ -79,7 +80,7 @@ void channel_destroy(struct channel *chan, struct lttng_ust_shm_handle *handle, __attribute__((visibility("hidden"))) extern struct lttng_ust_lib_ring_buffer *channel_get_ring_buffer( const struct lttng_ust_lib_ring_buffer_config *config, - struct channel *chan, int cpu, + struct lttng_ust_lib_ring_buffer_channel *chan, int cpu, struct lttng_ust_shm_handle *handle, int *shm_fd, int *wait_fd, int *wakeup_fd, @@ -88,26 +89,26 @@ extern struct lttng_ust_lib_ring_buffer *channel_get_ring_buffer( __attribute__((visibility("hidden"))) extern int ring_buffer_channel_close_wait_fd(const struct lttng_ust_lib_ring_buffer_config *config, - struct channel *chan, + struct lttng_ust_lib_ring_buffer_channel *chan, struct lttng_ust_shm_handle *handle); __attribute__((visibility("hidden"))) extern int ring_buffer_channel_close_wakeup_fd(const struct lttng_ust_lib_ring_buffer_config *config, - struct channel *chan, + struct lttng_ust_lib_ring_buffer_channel *chan, struct lttng_ust_shm_handle *handle); __attribute__((visibility("hidden"))) extern int ring_buffer_stream_close_wait_fd(const struct lttng_ust_lib_ring_buffer_config *config, - struct channel *chan, + struct lttng_ust_lib_ring_buffer_channel *chan, struct lttng_ust_shm_handle *handle, int cpu); __attribute__((visibility("hidden"))) extern int ring_buffer_stream_close_wakeup_fd(const struct lttng_ust_lib_ring_buffer_config *config, - struct channel *chan, + struct lttng_ust_lib_ring_buffer_channel *chan, struct lttng_ust_shm_handle *handle, int cpu); @@ -176,7 +177,7 @@ static inline void lib_ring_buffer_put_next_subbuf(struct lttng_ust_lib_ring_buffer *buf, struct lttng_ust_shm_handle *handle) { - struct channel *chan; + struct lttng_ust_lib_ring_buffer_channel *chan; chan = shmp(handle, buf->backend.chan); if (!chan) @@ -187,7 +188,7 @@ void lib_ring_buffer_put_next_subbuf(struct lttng_ust_lib_ring_buffer *buf, } __attribute__((visibility("hidden"))) -extern void channel_reset(struct channel *chan); +extern void channel_reset(struct lttng_ust_lib_ring_buffer_channel *chan); __attribute__((visibility("hidden"))) extern void lib_ring_buffer_reset(struct lttng_ust_lib_ring_buffer *buf, @@ -224,13 +225,13 @@ int lib_ring_buffer_is_finalized(const struct lttng_ust_lib_ring_buffer_config * } static inline -int lib_ring_buffer_channel_is_finalized(const struct channel *chan) +int lib_ring_buffer_channel_is_finalized(const struct lttng_ust_lib_ring_buffer_channel *chan) { return chan->finalized; } static inline -int lib_ring_buffer_channel_is_disabled(const struct channel *chan) +int lib_ring_buffer_channel_is_disabled(const struct lttng_ust_lib_ring_buffer_channel *chan) { return uatomic_read(&chan->record_disabled); } diff --git a/libringbuffer/frontend_api.h b/libringbuffer/frontend_api.h index f746c98e..fd601ce5 100644 --- a/libringbuffer/frontend_api.h +++ b/libringbuffer/frontend_api.h @@ -71,7 +71,7 @@ int lib_ring_buffer_try_reserve(const struct lttng_ust_lib_ring_buffer_config *c unsigned long *o_begin, unsigned long *o_end, unsigned long *o_old, size_t *before_hdr_pad) { - struct channel *chan = ctx->chan; + struct lttng_ust_lib_ring_buffer_channel *chan = ctx->chan; struct lttng_ust_lib_ring_buffer *buf = ctx->buf; *o_begin = v_read(config, &buf->offset); *o_old = *o_begin; @@ -139,7 +139,7 @@ int lib_ring_buffer_reserve(const struct lttng_ust_lib_ring_buffer_config *confi struct lttng_ust_lib_ring_buffer_ctx *ctx, void *client_ctx) { - struct channel *chan = ctx->chan; + struct lttng_ust_lib_ring_buffer_channel *chan = ctx->chan; struct lttng_ust_shm_handle *handle = ctx->handle; struct lttng_ust_lib_ring_buffer *buf; unsigned long o_begin, o_end, o_old; @@ -231,7 +231,7 @@ static inline void lib_ring_buffer_commit(const struct lttng_ust_lib_ring_buffer_config *config, const struct lttng_ust_lib_ring_buffer_ctx *ctx) { - struct channel *chan = ctx->chan; + struct lttng_ust_lib_ring_buffer_channel *chan = ctx->chan; struct lttng_ust_shm_handle *handle = ctx->handle; struct lttng_ust_lib_ring_buffer *buf = ctx->buf; unsigned long offset_end = ctx->buf_offset; @@ -326,14 +326,14 @@ int lib_ring_buffer_try_discard_reserve(const struct lttng_ust_lib_ring_buffer_c static inline void channel_record_disable(const struct lttng_ust_lib_ring_buffer_config *config, - struct channel *chan) + struct lttng_ust_lib_ring_buffer_channel *chan) { uatomic_inc(&chan->record_disabled); } static inline void channel_record_enable(const struct lttng_ust_lib_ring_buffer_config *config, - struct channel *chan) + struct lttng_ust_lib_ring_buffer_channel *chan) { uatomic_dec(&chan->record_disabled); } diff --git a/libringbuffer/frontend_internal.h b/libringbuffer/frontend_internal.h index 690f7f7a..e6569b28 100644 --- a/libringbuffer/frontend_internal.h +++ b/libringbuffer/frontend_internal.h @@ -26,7 +26,8 @@ /* buf_trunc mask selects only the buffer number. */ static inline -unsigned long buf_trunc(unsigned long offset, struct channel *chan) +unsigned long buf_trunc(unsigned long offset, + struct lttng_ust_lib_ring_buffer_channel *chan) { return offset & ~(chan->backend.buf_size - 1); @@ -34,35 +35,40 @@ unsigned long buf_trunc(unsigned long offset, struct channel *chan) /* Select the buffer number value (counter). */ static inline -unsigned long buf_trunc_val(unsigned long offset, struct channel *chan) +unsigned long buf_trunc_val(unsigned long offset, + struct lttng_ust_lib_ring_buffer_channel *chan) { return buf_trunc(offset, chan) >> chan->backend.buf_size_order; } /* buf_offset mask selects only the offset within the current buffer. */ static inline -unsigned long buf_offset(unsigned long offset, struct channel *chan) +unsigned long buf_offset(unsigned long offset, + struct lttng_ust_lib_ring_buffer_channel *chan) { return offset & (chan->backend.buf_size - 1); } /* subbuf_offset mask selects the offset within the current subbuffer. */ static inline -unsigned long subbuf_offset(unsigned long offset, struct channel *chan) +unsigned long subbuf_offset(unsigned long offset, + struct lttng_ust_lib_ring_buffer_channel *chan) { return offset & (chan->backend.subbuf_size - 1); } /* subbuf_trunc mask selects the subbuffer number. */ static inline -unsigned long subbuf_trunc(unsigned long offset, struct channel *chan) +unsigned long subbuf_trunc(unsigned long offset, + struct lttng_ust_lib_ring_buffer_channel *chan) { return offset & ~(chan->backend.subbuf_size - 1); } /* subbuf_align aligns the offset to the next subbuffer. */ static inline -unsigned long subbuf_align(unsigned long offset, struct channel *chan) +unsigned long subbuf_align(unsigned long offset, + struct lttng_ust_lib_ring_buffer_channel *chan) { return (offset + chan->backend.subbuf_size) & ~(chan->backend.subbuf_size - 1); @@ -70,7 +76,8 @@ unsigned long subbuf_align(unsigned long offset, struct channel *chan) /* subbuf_index returns the index of the current subbuffer within the buffer. */ static inline -unsigned long subbuf_index(unsigned long offset, struct channel *chan) +unsigned long subbuf_index(unsigned long offset, + struct lttng_ust_lib_ring_buffer_channel *chan) { return buf_offset(offset, chan) >> chan->backend.subbuf_size_order; } @@ -152,7 +159,7 @@ void lib_ring_buffer_switch_slow(struct lttng_ust_lib_ring_buffer *buf, __attribute__((visibility("hidden"))) void lib_ring_buffer_check_deliver_slow(const struct lttng_ust_lib_ring_buffer_config *config, struct lttng_ust_lib_ring_buffer *buf, - struct channel *chan, + struct lttng_ust_lib_ring_buffer_channel *chan, unsigned long offset, unsigned long commit_count, unsigned long idx, @@ -163,7 +170,7 @@ void lib_ring_buffer_check_deliver_slow(const struct lttng_ust_lib_ring_buffer_c static inline void lib_ring_buffer_reserve_push_reader(struct lttng_ust_lib_ring_buffer *buf, - struct channel *chan, + struct lttng_ust_lib_ring_buffer_channel *chan, unsigned long offset) { unsigned long consumed_old, consumed_new; @@ -202,7 +209,7 @@ static inline void lib_ring_buffer_clear_reader(struct lttng_ust_lib_ring_buffer *buf, struct lttng_ust_shm_handle *handle) { - struct channel *chan; + struct lttng_ust_lib_ring_buffer_channel *chan; const struct lttng_ust_lib_ring_buffer_config *config; unsigned long offset, consumed_old, consumed_new; @@ -225,7 +232,7 @@ void lib_ring_buffer_clear_reader(struct lttng_ust_lib_ring_buffer *buf, static inline int lib_ring_buffer_pending_data(const struct lttng_ust_lib_ring_buffer_config *config, struct lttng_ust_lib_ring_buffer *buf, - struct channel *chan) + struct lttng_ust_lib_ring_buffer_channel *chan) { return !!subbuf_offset(v_read(config, &buf->offset), chan); } @@ -247,7 +254,7 @@ unsigned long lib_ring_buffer_get_data_size(const struct lttng_ust_lib_ring_buff static inline int lib_ring_buffer_reserve_committed(const struct lttng_ust_lib_ring_buffer_config *config, struct lttng_ust_lib_ring_buffer *buf, - struct channel *chan, + struct lttng_ust_lib_ring_buffer_channel *chan, struct lttng_ust_shm_handle *handle) { unsigned long offset, idx, commit_count; @@ -287,7 +294,7 @@ int lib_ring_buffer_reserve_committed(const struct lttng_ust_lib_ring_buffer_con static inline void lib_ring_buffer_check_deliver(const struct lttng_ust_lib_ring_buffer_config *config, struct lttng_ust_lib_ring_buffer *buf, - struct channel *chan, + struct lttng_ust_lib_ring_buffer_channel *chan, unsigned long offset, unsigned long commit_count, unsigned long idx, @@ -315,7 +322,7 @@ void lib_ring_buffer_check_deliver(const struct lttng_ust_lib_ring_buffer_config static inline void lib_ring_buffer_write_commit_counter(const struct lttng_ust_lib_ring_buffer_config *config, struct lttng_ust_lib_ring_buffer *buf, - struct channel *chan, + struct lttng_ust_lib_ring_buffer_channel *chan, unsigned long buf_offset, unsigned long commit_count, struct lttng_ust_shm_handle *handle, diff --git a/libringbuffer/frontend_types.h b/libringbuffer/frontend_types.h index 2791c18f..851c8da9 100644 --- a/libringbuffer/frontend_types.h +++ b/libringbuffer/frontend_types.h @@ -33,7 +33,7 @@ enum switch_mode { SWITCH_ACTIVE, SWITCH_FLUSH }; /* channel: collection of per-cpu ring buffers. */ #define RB_CHANNEL_PADDING 32 -struct channel { +struct lttng_ust_lib_ring_buffer_channel { int record_disabled; unsigned long commit_count_mask; /* * Commit count mask, removing @@ -222,7 +222,7 @@ struct lttng_ust_lib_ring_buffer { } __attribute__((aligned(CAA_CACHE_LINE_SIZE))); static inline -void *channel_get_private(struct channel *chan) +void *channel_get_private(struct lttng_ust_lib_ring_buffer_channel *chan) { return ((char *) chan) + chan->priv_data_offset; } @@ -238,14 +238,15 @@ void *channel_get_private(struct channel *chan) */ #define CHAN_WARN_ON(c, cond) \ ({ \ - struct channel *__chan; \ + struct lttng_ust_lib_ring_buffer_channel *__chan; \ int _____ret = caa_unlikely(cond); \ if (_____ret) { \ if (__rb_same_type(*(c), struct channel_backend)) \ __chan = caa_container_of((void *) (c), \ - struct channel, \ - backend); \ - else if (__rb_same_type(*(c), struct channel)) \ + struct lttng_ust_lib_ring_buffer_channel, \ + backend); \ + else if (__rb_same_type(*(c), \ + struct lttng_ust_lib_ring_buffer_channel)) \ __chan = (void *) (c); \ else \ BUG_ON(1); \ diff --git a/libringbuffer/ring_buffer_backend.c b/libringbuffer/ring_buffer_backend.c index 0d4afb4e..3202e8d9 100644 --- a/libringbuffer/ring_buffer_backend.c +++ b/libringbuffer/ring_buffer_backend.c @@ -223,7 +223,8 @@ void lib_ring_buffer_backend_reset(struct lttng_ust_lib_ring_buffer_backend *buf */ void channel_backend_reset(struct channel_backend *chanb) { - struct channel *chan = caa_container_of(chanb, struct channel, backend); + struct lttng_ust_lib_ring_buffer_channel *chan = caa_container_of(chanb, + struct lttng_ust_lib_ring_buffer_channel, backend); const struct lttng_ust_lib_ring_buffer_config *config = &chanb->config; /* @@ -260,7 +261,8 @@ int channel_backend_init(struct channel_backend *chanb, struct lttng_ust_shm_handle *handle, const int *stream_fds) { - struct channel *chan = caa_container_of(chanb, struct channel, backend); + struct lttng_ust_lib_ring_buffer_channel *chan = caa_container_of(chanb, + struct lttng_ust_lib_ring_buffer_channel, backend); unsigned int i; int ret; size_t shmsize = 0, num_subbuf_alloc; diff --git a/libringbuffer/ring_buffer_frontend.c b/libringbuffer/ring_buffer_frontend.c index 3b338fc3..bc680100 100644 --- a/libringbuffer/ring_buffer_frontend.c +++ b/libringbuffer/ring_buffer_frontend.c @@ -113,7 +113,7 @@ DEFINE_URCU_TLS(unsigned int, lib_ring_buffer_nesting); static pthread_mutex_t wakeup_fd_mutex = PTHREAD_MUTEX_INITIALIZER; static -void lib_ring_buffer_print_errors(struct channel *chan, +void lib_ring_buffer_print_errors(struct lttng_ust_lib_ring_buffer_channel *chan, struct lttng_ust_lib_ring_buffer *buf, int cpu, struct lttng_ust_shm_handle *handle); @@ -145,7 +145,7 @@ void lttng_ust_ringbuffer_set_allow_blocking(void) } /* Get blocking timeout, in ms */ -static int lttng_ust_ringbuffer_get_timeout(struct channel *chan) +static int lttng_ust_ringbuffer_get_timeout(struct lttng_ust_lib_ring_buffer_channel *chan) { if (!lttng_ust_allow_blocking) return 0; @@ -164,7 +164,7 @@ static int lttng_ust_ringbuffer_get_timeout(struct channel *chan) void lib_ring_buffer_reset(struct lttng_ust_lib_ring_buffer *buf, struct lttng_ust_shm_handle *handle) { - struct channel *chan; + struct lttng_ust_lib_ring_buffer_channel *chan; const struct lttng_ust_lib_ring_buffer_config *config; unsigned int i; @@ -218,7 +218,7 @@ void lib_ring_buffer_reset(struct lttng_ust_lib_ring_buffer *buf, * be using the iterator concurrently with reset. The previous current iterator * record is reset. */ -void channel_reset(struct channel *chan) +void channel_reset(struct lttng_ust_lib_ring_buffer_channel *chan) { /* * Reset iterators first. Will put the subbuffer if held for reading. @@ -329,9 +329,10 @@ int lib_ring_buffer_create(struct lttng_ust_lib_ring_buffer *buf, struct shm_object *shmobj) { const struct lttng_ust_lib_ring_buffer_config *config = &chanb->config; - struct channel *chan = caa_container_of(chanb, struct channel, backend); + struct lttng_ust_lib_ring_buffer_channel *chan = caa_container_of(chanb, + struct lttng_ust_lib_ring_buffer_channel, backend); struct lttng_ust_lib_ring_buffer_backend_subbuffer *wsb; - struct channel *shmp_chan; + struct lttng_ust_lib_ring_buffer_channel *shmp_chan; struct commit_counters_hot *cc_hot; void *priv = channel_get_private(chan); size_t subbuf_header_size; @@ -429,7 +430,7 @@ void lib_ring_buffer_channel_switch_timer(int sig, siginfo_t *si, void *uc) { const struct lttng_ust_lib_ring_buffer_config *config; struct lttng_ust_shm_handle *handle; - struct channel *chan; + struct lttng_ust_lib_ring_buffer_channel *chan; int cpu; assert(CMM_LOAD_SHARED(timer_signal.tid) == pthread_self()); @@ -473,7 +474,7 @@ end: static int lib_ring_buffer_poll_deliver(const struct lttng_ust_lib_ring_buffer_config *config, struct lttng_ust_lib_ring_buffer *buf, - struct channel *chan, + struct lttng_ust_lib_ring_buffer_channel *chan, struct lttng_ust_shm_handle *handle) { unsigned long consumed_old, consumed_idx, commit_count, write_offset; @@ -582,7 +583,7 @@ void lib_ring_buffer_wakeup(struct lttng_ust_lib_ring_buffer *buf, } static -void lib_ring_buffer_channel_do_read(struct channel *chan) +void lib_ring_buffer_channel_do_read(struct lttng_ust_lib_ring_buffer_channel *chan) { const struct lttng_ust_lib_ring_buffer_config *config; struct lttng_ust_shm_handle *handle; @@ -627,7 +628,7 @@ end: static void lib_ring_buffer_channel_read_timer(int sig, siginfo_t *si, void *uc) { - struct channel *chan; + struct lttng_ust_lib_ring_buffer_channel *chan; assert(CMM_LOAD_SHARED(timer_signal.tid) == pthread_self()); chan = si->si_value.sival_ptr; @@ -777,7 +778,7 @@ void lib_ring_buffer_wait_signal_thread_qs(unsigned int signr) } static -void lib_ring_buffer_channel_switch_timer_start(struct channel *chan) +void lib_ring_buffer_channel_switch_timer_start(struct lttng_ust_lib_ring_buffer_channel *chan) { struct sigevent sev; struct itimerspec its; @@ -811,7 +812,7 @@ void lib_ring_buffer_channel_switch_timer_start(struct channel *chan) } static -void lib_ring_buffer_channel_switch_timer_stop(struct channel *chan) +void lib_ring_buffer_channel_switch_timer_stop(struct lttng_ust_lib_ring_buffer_channel *chan) { int ret; @@ -830,7 +831,7 @@ void lib_ring_buffer_channel_switch_timer_stop(struct channel *chan) } static -void lib_ring_buffer_channel_read_timer_start(struct channel *chan) +void lib_ring_buffer_channel_read_timer_start(struct lttng_ust_lib_ring_buffer_channel *chan) { const struct lttng_ust_lib_ring_buffer_config *config = &chan->backend.config; struct sigevent sev; @@ -865,7 +866,7 @@ void lib_ring_buffer_channel_read_timer_start(struct channel *chan) } static -void lib_ring_buffer_channel_read_timer_stop(struct channel *chan) +void lib_ring_buffer_channel_read_timer_stop(struct lttng_ust_lib_ring_buffer_channel *chan) { const struct lttng_ust_lib_ring_buffer_config *config = &chan->backend.config; int ret; @@ -891,14 +892,14 @@ void lib_ring_buffer_channel_read_timer_stop(struct channel *chan) chan->read_timer_enabled = 0; } -static void channel_unregister_notifiers(struct channel *chan, +static void channel_unregister_notifiers(struct lttng_ust_lib_ring_buffer_channel *chan, struct lttng_ust_shm_handle *handle) { lib_ring_buffer_channel_switch_timer_stop(chan); lib_ring_buffer_channel_read_timer_stop(chan); } -static void channel_print_errors(struct channel *chan, +static void channel_print_errors(struct lttng_ust_lib_ring_buffer_channel *chan, struct lttng_ust_shm_handle *handle) { const struct lttng_ust_lib_ring_buffer_config *config = @@ -921,7 +922,7 @@ static void channel_print_errors(struct channel *chan, } } -static void channel_free(struct channel *chan, +static void channel_free(struct lttng_ust_lib_ring_buffer_channel *chan, struct lttng_ust_shm_handle *handle, int consumer) { @@ -967,7 +968,7 @@ struct lttng_ust_shm_handle *channel_create(const struct lttng_ust_lib_ring_buff { int ret; size_t shmsize, chansize; - struct channel *chan; + struct lttng_ust_lib_ring_buffer_channel *chan; struct lttng_ust_shm_handle *handle; struct shm_object *shmobj; unsigned int nr_streams; @@ -1008,7 +1009,7 @@ struct lttng_ust_shm_handle *channel_create(const struct lttng_ust_lib_ring_buff goto error_table_alloc; /* Calculate the shm allocation layout */ - shmsize = sizeof(struct channel); + shmsize = sizeof(struct lttng_ust_lib_ring_buffer_channel); shmsize += lttng_ust_offset_align(shmsize, __alignof__(struct lttng_ust_lib_ring_buffer_shmp)); shmsize += sizeof(struct lttng_ust_lib_ring_buffer_shmp) * nr_streams; chansize = shmsize; @@ -1021,7 +1022,7 @@ struct lttng_ust_shm_handle *channel_create(const struct lttng_ust_lib_ring_buff -1, -1); if (!shmobj) goto error_append; - /* struct channel is at object 0, offset 0 (hardcoded) */ + /* struct lttng_ust_lib_ring_buffer_channel is at object 0, offset 0 (hardcoded) */ set_shmp(handle->chan, zalloc_shm(shmobj, chansize)); assert(handle->chan._ref.index == 0); assert(handle->chan._ref.offset == 0); @@ -1093,7 +1094,7 @@ struct lttng_ust_shm_handle *channel_handle_create(void *data, memory_map_size, wakeup_fd); if (!object) goto error_table_object; - /* struct channel is at object 0, offset 0 (hardcoded) */ + /* struct lttng_ust_lib_ring_buffer_channel is at object 0, offset 0 (hardcoded) */ handle->chan._ref.index = 0; handle->chan._ref.offset = 0; return handle; @@ -1127,7 +1128,7 @@ unsigned int channel_handle_get_nr_streams(struct lttng_ust_shm_handle *handle) } static -void channel_release(struct channel *chan, struct lttng_ust_shm_handle *handle, +void channel_release(struct lttng_ust_lib_ring_buffer_channel *chan, struct lttng_ust_shm_handle *handle, int consumer) { channel_free(chan, handle, consumer); @@ -1143,7 +1144,7 @@ void channel_release(struct channel *chan, struct lttng_ust_shm_handle *handle, * consumption of finalized channels, get_subbuf() will return -ENODATA. * They should release their handle at that point. */ -void channel_destroy(struct channel *chan, struct lttng_ust_shm_handle *handle, +void channel_destroy(struct lttng_ust_lib_ring_buffer_channel *chan, struct lttng_ust_shm_handle *handle, int consumer) { if (consumer) { @@ -1168,7 +1169,7 @@ void channel_destroy(struct channel *chan, struct lttng_ust_shm_handle *handle, struct lttng_ust_lib_ring_buffer *channel_get_ring_buffer( const struct lttng_ust_lib_ring_buffer_config *config, - struct channel *chan, int cpu, + struct lttng_ust_lib_ring_buffer_channel *chan, int cpu, struct lttng_ust_shm_handle *handle, int *shm_fd, int *wait_fd, int *wakeup_fd, @@ -1192,7 +1193,7 @@ struct lttng_ust_lib_ring_buffer *channel_get_ring_buffer( } int ring_buffer_channel_close_wait_fd(const struct lttng_ust_lib_ring_buffer_config *config, - struct channel *chan, + struct lttng_ust_lib_ring_buffer_channel *chan, struct lttng_ust_shm_handle *handle) { struct shm_ref *ref; @@ -1202,7 +1203,7 @@ int ring_buffer_channel_close_wait_fd(const struct lttng_ust_lib_ring_buffer_con } int ring_buffer_channel_close_wakeup_fd(const struct lttng_ust_lib_ring_buffer_config *config, - struct channel *chan, + struct lttng_ust_lib_ring_buffer_channel *chan, struct lttng_ust_shm_handle *handle) { struct shm_ref *ref; @@ -1212,7 +1213,7 @@ int ring_buffer_channel_close_wakeup_fd(const struct lttng_ust_lib_ring_buffer_c } int ring_buffer_stream_close_wait_fd(const struct lttng_ust_lib_ring_buffer_config *config, - struct channel *chan, + struct lttng_ust_lib_ring_buffer_channel *chan, struct lttng_ust_shm_handle *handle, int cpu) { @@ -1229,7 +1230,7 @@ int ring_buffer_stream_close_wait_fd(const struct lttng_ust_lib_ring_buffer_conf } int ring_buffer_stream_close_wakeup_fd(const struct lttng_ust_lib_ring_buffer_config *config, - struct channel *chan, + struct lttng_ust_lib_ring_buffer_channel *chan, struct lttng_ust_shm_handle *handle, int cpu) { @@ -1261,7 +1262,7 @@ int lib_ring_buffer_open_read(struct lttng_ust_lib_ring_buffer *buf, void lib_ring_buffer_release_read(struct lttng_ust_lib_ring_buffer *buf, struct lttng_ust_shm_handle *handle) { - struct channel *chan = shmp(handle, buf->backend.chan); + struct lttng_ust_lib_ring_buffer_channel *chan = shmp(handle, buf->backend.chan); if (!chan) return; @@ -1284,7 +1285,7 @@ int lib_ring_buffer_snapshot(struct lttng_ust_lib_ring_buffer *buf, unsigned long *consumed, unsigned long *produced, struct lttng_ust_shm_handle *handle) { - struct channel *chan; + struct lttng_ust_lib_ring_buffer_channel *chan; const struct lttng_ust_lib_ring_buffer_config *config; unsigned long consumed_cur, write_offset; int finalized; @@ -1349,7 +1350,7 @@ int lib_ring_buffer_snapshot_sample_positions( unsigned long *consumed, unsigned long *produced, struct lttng_ust_shm_handle *handle) { - struct channel *chan; + struct lttng_ust_lib_ring_buffer_channel *chan; const struct lttng_ust_lib_ring_buffer_config *config; chan = shmp(handle, buf->backend.chan); @@ -1380,7 +1381,7 @@ void lib_ring_buffer_move_consumer(struct lttng_ust_lib_ring_buffer *buf, struct lttng_ust_shm_handle *handle) { struct lttng_ust_lib_ring_buffer_backend *bufb = &buf->backend; - struct channel *chan; + struct lttng_ust_lib_ring_buffer_channel *chan; unsigned long consumed; chan = shmp(handle, bufb->chan); @@ -1411,7 +1412,7 @@ int lib_ring_buffer_get_subbuf(struct lttng_ust_lib_ring_buffer *buf, unsigned long consumed, struct lttng_ust_shm_handle *handle) { - struct channel *chan; + struct lttng_ust_lib_ring_buffer_channel *chan; const struct lttng_ust_lib_ring_buffer_config *config; unsigned long consumed_cur, consumed_idx, commit_count, write_offset; int ret, finalized, nr_retry = LTTNG_UST_RING_BUFFER_GET_RETRY; @@ -1575,7 +1576,7 @@ void lib_ring_buffer_put_subbuf(struct lttng_ust_lib_ring_buffer *buf, struct lttng_ust_shm_handle *handle) { struct lttng_ust_lib_ring_buffer_backend *bufb = &buf->backend; - struct channel *chan; + struct lttng_ust_lib_ring_buffer_channel *chan; const struct lttng_ust_lib_ring_buffer_config *config; unsigned long sb_bindex, consumed_idx, consumed; struct lttng_ust_lib_ring_buffer_backend_pages_shmp *rpages; @@ -1642,7 +1643,7 @@ void lib_ring_buffer_put_subbuf(struct lttng_ust_lib_ring_buffer *buf, */ static void lib_ring_buffer_print_subbuffer_errors(struct lttng_ust_lib_ring_buffer *buf, - struct channel *chan, + struct lttng_ust_lib_ring_buffer_channel *chan, unsigned long cons_offset, int cpu, struct lttng_ust_shm_handle *handle) @@ -1677,7 +1678,7 @@ void lib_ring_buffer_print_subbuffer_errors(struct lttng_ust_lib_ring_buffer *bu static void lib_ring_buffer_print_buffer_errors(struct lttng_ust_lib_ring_buffer *buf, - struct channel *chan, + struct lttng_ust_lib_ring_buffer_channel *chan, void *priv, int cpu, struct lttng_ust_shm_handle *handle) { @@ -1707,7 +1708,7 @@ void lib_ring_buffer_print_buffer_errors(struct lttng_ust_lib_ring_buffer *buf, } static -void lib_ring_buffer_print_errors(struct channel *chan, +void lib_ring_buffer_print_errors(struct lttng_ust_lib_ring_buffer_channel *chan, struct lttng_ust_lib_ring_buffer *buf, int cpu, struct lttng_ust_shm_handle *handle) { @@ -1749,7 +1750,7 @@ void lib_ring_buffer_print_errors(struct channel *chan, */ static void lib_ring_buffer_switch_old_start(struct lttng_ust_lib_ring_buffer *buf, - struct channel *chan, + struct lttng_ust_lib_ring_buffer_channel *chan, struct switch_offsets *offsets, uint64_t tsc, struct lttng_ust_shm_handle *handle) @@ -1790,7 +1791,7 @@ void lib_ring_buffer_switch_old_start(struct lttng_ust_lib_ring_buffer *buf, */ static void lib_ring_buffer_switch_old_end(struct lttng_ust_lib_ring_buffer *buf, - struct channel *chan, + struct lttng_ust_lib_ring_buffer_channel *chan, struct switch_offsets *offsets, uint64_t tsc, struct lttng_ust_shm_handle *handle) @@ -1845,7 +1846,7 @@ void lib_ring_buffer_switch_old_end(struct lttng_ust_lib_ring_buffer *buf, */ static void lib_ring_buffer_switch_new_start(struct lttng_ust_lib_ring_buffer *buf, - struct channel *chan, + struct lttng_ust_lib_ring_buffer_channel *chan, struct switch_offsets *offsets, uint64_t tsc, struct lttng_ust_shm_handle *handle) @@ -1885,7 +1886,7 @@ void lib_ring_buffer_switch_new_start(struct lttng_ust_lib_ring_buffer *buf, */ static void lib_ring_buffer_switch_new_end(struct lttng_ust_lib_ring_buffer *buf, - struct channel *chan, + struct lttng_ust_lib_ring_buffer_channel *chan, struct switch_offsets *offsets, uint64_t tsc, struct lttng_ust_shm_handle *handle) @@ -1920,7 +1921,7 @@ void lib_ring_buffer_switch_new_end(struct lttng_ust_lib_ring_buffer *buf, static int lib_ring_buffer_try_switch_slow(enum switch_mode mode, struct lttng_ust_lib_ring_buffer *buf, - struct channel *chan, + struct lttng_ust_lib_ring_buffer_channel *chan, struct switch_offsets *offsets, uint64_t *tsc, struct lttng_ust_shm_handle *handle) @@ -2036,7 +2037,7 @@ int lib_ring_buffer_try_switch_slow(enum switch_mode mode, void lib_ring_buffer_switch_slow(struct lttng_ust_lib_ring_buffer *buf, enum switch_mode mode, struct lttng_ust_shm_handle *handle) { - struct channel *chan; + struct lttng_ust_lib_ring_buffer_channel *chan; const struct lttng_ust_lib_ring_buffer_config *config; struct switch_offsets offsets; unsigned long oldidx; @@ -2115,7 +2116,7 @@ bool handle_blocking_retry(int *timeout_left_ms) */ static int lib_ring_buffer_try_reserve_slow(struct lttng_ust_lib_ring_buffer *buf, - struct channel *chan, + struct lttng_ust_lib_ring_buffer_channel *chan, struct switch_offsets *offsets, struct lttng_ust_lib_ring_buffer_ctx *ctx, void *client_ctx) @@ -2309,7 +2310,7 @@ retry: int lib_ring_buffer_reserve_slow(struct lttng_ust_lib_ring_buffer_ctx *ctx, void *client_ctx) { - struct channel *chan = ctx->chan; + struct lttng_ust_lib_ring_buffer_channel *chan = ctx->chan; struct lttng_ust_shm_handle *handle = ctx->handle; const struct lttng_ust_lib_ring_buffer_config *config = &chan->backend.config; struct lttng_ust_lib_ring_buffer *buf; @@ -2427,7 +2428,7 @@ void deliver_count_events(const struct lttng_ust_lib_ring_buffer_config *config, void lib_ring_buffer_check_deliver_slow(const struct lttng_ust_lib_ring_buffer_config *config, struct lttng_ust_lib_ring_buffer *buf, - struct channel *chan, + struct lttng_ust_lib_ring_buffer_channel *chan, unsigned long offset, unsigned long commit_count, unsigned long idx, diff --git a/libringbuffer/shm.h b/libringbuffer/shm.h index b5584647..64507463 100644 --- a/libringbuffer/shm.h +++ b/libringbuffer/shm.h @@ -32,7 +32,8 @@ unsigned int channel_handle_get_nr_streams(struct lttng_ust_shm_handle *handle); __attribute__((visibility("hidden"))) extern -void channel_destroy(struct channel *chan, struct lttng_ust_shm_handle *handle, +void channel_destroy(struct lttng_ust_lib_ring_buffer_channel *chan, + struct lttng_ust_shm_handle *handle, int consumer); /* diff --git a/libringbuffer/shm_types.h b/libringbuffer/shm_types.h index 896474fc..c1ad7b68 100644 --- a/libringbuffer/shm_types.h +++ b/libringbuffer/shm_types.h @@ -12,7 +12,7 @@ #include #include "shm_internal.h" -struct channel; +struct lttng_ust_lib_ring_buffer_channel; enum shm_object_type { SHM_OBJECT_SHM, @@ -38,7 +38,7 @@ struct shm_object_table { struct lttng_ust_shm_handle { struct shm_object_table *table; - DECLARE_SHMP(struct channel, chan); + DECLARE_SHMP(struct lttng_ust_lib_ring_buffer_channel, chan); }; #endif /* _LIBRINGBUFFER_SHM_TYPES_H */ -- 2.34.1