X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=include%2Fringbuffer%2Ffrontend.h;h=f5b6fe43311564e8e98f90c2930022c7ac8b97fd;hb=e20c0fec4a2e120143f2e71c63d9fcd664af55a4;hp=41fec2a0959dc7a5159e181de96eb7f27363b581;hpb=2459130397d7e7eecc44a5f06a39d65c78257eef;p=lttng-modules.git diff --git a/include/ringbuffer/frontend.h b/include/ringbuffer/frontend.h index 41fec2a0..f5b6fe43 100644 --- a/include/ringbuffer/frontend.h +++ b/include/ringbuffer/frontend.h @@ -52,7 +52,7 @@ */ extern -struct channel *channel_create(const struct lib_ring_buffer_config *config, +struct lttng_kernel_ring_buffer_channel *channel_create(const struct lttng_kernel_ring_buffer_config *config, const char *name, void *priv, void *buf_addr, size_t subbuf_size, size_t num_subbuf, @@ -65,7 +65,7 @@ struct channel *channel_create(const struct lib_ring_buffer_config *config, * channel. */ extern -void *channel_destroy(struct channel *chan); +void *channel_destroy(struct lttng_kernel_ring_buffer_channel *chan); /* Buffer read operations */ @@ -79,39 +79,39 @@ void *channel_destroy(struct channel *chan); #define for_each_channel_cpu(cpu, chan) \ for ((cpu) = -1; \ ({ (cpu) = cpumask_next(cpu, (chan)->backend.cpumask); \ - smp_read_barrier_depends(); (cpu) < nr_cpu_ids; });) + smp_rmb(); (cpu) < nr_cpu_ids; });) -extern struct lib_ring_buffer *channel_get_ring_buffer( - const struct lib_ring_buffer_config *config, - struct channel *chan, int cpu); -extern int lib_ring_buffer_open_read(struct lib_ring_buffer *buf); -extern void lib_ring_buffer_release_read(struct lib_ring_buffer *buf); +extern struct lttng_kernel_ring_buffer *channel_get_ring_buffer( + const struct lttng_kernel_ring_buffer_config *config, + struct lttng_kernel_ring_buffer_channel *chan, int cpu); +extern int lib_ring_buffer_open_read(struct lttng_kernel_ring_buffer *buf); +extern void lib_ring_buffer_release_read(struct lttng_kernel_ring_buffer *buf); /* * Read sequence: snapshot, many get_subbuf/put_subbuf, move_consumer. */ -extern int lib_ring_buffer_snapshot(struct lib_ring_buffer *buf, +extern int lib_ring_buffer_snapshot(struct lttng_kernel_ring_buffer *buf, unsigned long *consumed, unsigned long *produced); extern int lib_ring_buffer_snapshot_sample_positions( - struct lib_ring_buffer *buf, + struct lttng_kernel_ring_buffer *buf, unsigned long *consumed, unsigned long *produced); -extern void lib_ring_buffer_move_consumer(struct lib_ring_buffer *buf, +extern void lib_ring_buffer_move_consumer(struct lttng_kernel_ring_buffer *buf, unsigned long consumed_new); -extern int lib_ring_buffer_get_subbuf(struct lib_ring_buffer *buf, +extern int lib_ring_buffer_get_subbuf(struct lttng_kernel_ring_buffer *buf, unsigned long consumed); -extern void lib_ring_buffer_put_subbuf(struct lib_ring_buffer *buf); +extern void lib_ring_buffer_put_subbuf(struct lttng_kernel_ring_buffer *buf); -void lib_ring_buffer_set_quiescent_channel(struct channel *chan); -void lib_ring_buffer_clear_quiescent_channel(struct channel *chan); +void lib_ring_buffer_set_quiescent_channel(struct lttng_kernel_ring_buffer_channel *chan); +void lib_ring_buffer_clear_quiescent_channel(struct lttng_kernel_ring_buffer_channel *chan); /* * lib_ring_buffer_get_next_subbuf/lib_ring_buffer_put_next_subbuf are helpers * to read sub-buffers sequentially. */ -static inline int lib_ring_buffer_get_next_subbuf(struct lib_ring_buffer *buf) +static inline int lib_ring_buffer_get_next_subbuf(struct lttng_kernel_ring_buffer *buf) { int ret; @@ -123,26 +123,26 @@ static inline int lib_ring_buffer_get_next_subbuf(struct lib_ring_buffer *buf) return ret; } -static inline void lib_ring_buffer_put_next_subbuf(struct lib_ring_buffer *buf) +static inline void lib_ring_buffer_put_next_subbuf(struct lttng_kernel_ring_buffer *buf) { lib_ring_buffer_put_subbuf(buf); lib_ring_buffer_move_consumer(buf, subbuf_align(buf->cons_snapshot, buf->backend.chan)); } -extern void channel_reset(struct channel *chan); -extern void lib_ring_buffer_reset(struct lib_ring_buffer *buf); +extern void channel_reset(struct lttng_kernel_ring_buffer_channel *chan); +extern void lib_ring_buffer_reset(struct lttng_kernel_ring_buffer *buf); static inline -unsigned long lib_ring_buffer_get_offset(const struct lib_ring_buffer_config *config, - struct lib_ring_buffer *buf) +unsigned long lib_ring_buffer_get_offset(const struct lttng_kernel_ring_buffer_config *config, + struct lttng_kernel_ring_buffer *buf) { return v_read(config, &buf->offset); } static inline -unsigned long lib_ring_buffer_get_consumed(const struct lib_ring_buffer_config *config, - struct lib_ring_buffer *buf) +unsigned long lib_ring_buffer_get_consumed(const struct lttng_kernel_ring_buffer_config *config, + struct lttng_kernel_ring_buffer *buf) { return atomic_long_read(&buf->consumed); } @@ -152,10 +152,10 @@ unsigned long lib_ring_buffer_get_consumed(const struct lib_ring_buffer_config * * ordering enforced with respect to trace teardown). */ static inline -int lib_ring_buffer_is_finalized(const struct lib_ring_buffer_config *config, - struct lib_ring_buffer *buf) +int lib_ring_buffer_is_finalized(const struct lttng_kernel_ring_buffer_config *config, + struct lttng_kernel_ring_buffer *buf) { - int finalized = READ_ONCE(buf->finalized); + int finalized = LTTNG_READ_ONCE(buf->finalized); /* * Read finalized before counters. */ @@ -164,69 +164,69 @@ int lib_ring_buffer_is_finalized(const struct lib_ring_buffer_config *config, } static inline -int lib_ring_buffer_channel_is_finalized(const struct channel *chan) +int lib_ring_buffer_channel_is_finalized(const struct lttng_kernel_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_kernel_ring_buffer_channel *chan) { return atomic_read(&chan->record_disabled); } static inline unsigned long lib_ring_buffer_get_read_data_size( - 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 subbuffer_get_read_data_size(config, &buf->backend); } static inline unsigned long lib_ring_buffer_get_records_count( - 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 v_read(config, &buf->records_count); } static inline unsigned long lib_ring_buffer_get_records_overrun( - 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 v_read(config, &buf->records_overrun); } static inline unsigned long lib_ring_buffer_get_records_lost_full( - 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 v_read(config, &buf->records_lost_full); } static inline unsigned long lib_ring_buffer_get_records_lost_wrap( - 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 v_read(config, &buf->records_lost_wrap); } static inline unsigned long lib_ring_buffer_get_records_lost_big( - 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 v_read(config, &buf->records_lost_big); } static inline unsigned long lib_ring_buffer_get_records_read( - 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 v_read(config, &buf->backend.records_read); }