-size_t record_header_size(const struct lib_ring_buffer_config *config,
- struct channel *chan, size_t offset,
+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 client_record_header_size(const struct lib_ring_buffer_config *config,
- struct channel *chan, size_t offset,
+size_t client_record_header_size(const struct lttng_kernel_ring_buffer_config *config,
+ struct lttng_kernel_ring_buffer_channel *chan, size_t offset,
void *client_ctx)
{
return record_header_size(config, chan, offset,
void *client_ctx)
{
return record_header_size(config, chan, offset,
* offset is assumed to never be 0 here : never deliver a completely empty
* subbuffer. data_size is between 1 and subbuf_size.
*/
* 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,
- unsigned int subbuf_idx, unsigned long data_size)
+static void client_buffer_end(struct lttng_kernel_ring_buffer *buf, u64 tsc,
+ unsigned int subbuf_idx, unsigned long data_size,
+ const struct lttng_kernel_ring_buffer_ctx *ctx)
-static int client_timestamp_begin(const struct lib_ring_buffer_config *config,
- struct lib_ring_buffer *buf, uint64_t *timestamp_begin)
+static int client_timestamp_begin(const struct lttng_kernel_ring_buffer_config *config,
+ struct lttng_kernel_ring_buffer *buf, uint64_t *timestamp_begin)
-static int client_timestamp_end(const struct lib_ring_buffer_config *config,
- struct lib_ring_buffer *bufb,
+static int client_timestamp_end(const struct lttng_kernel_ring_buffer_config *config,
+ struct lttng_kernel_ring_buffer *bufb,
-static int client_events_discarded(const struct lib_ring_buffer_config *config,
- struct lib_ring_buffer *bufb,
+static int client_events_discarded(const struct lttng_kernel_ring_buffer_config *config,
+ struct lttng_kernel_ring_buffer *bufb,
-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,
-static int client_content_size(const struct lib_ring_buffer_config *config,
- struct lib_ring_buffer *bufb,
+static int client_content_size(const struct lttng_kernel_ring_buffer_config *config,
+ struct lttng_kernel_ring_buffer *bufb,
-static int client_packet_size(const struct lib_ring_buffer_config *config,
- struct lib_ring_buffer *bufb,
+static int client_packet_size(const struct lttng_kernel_ring_buffer_config *config,
+ struct lttng_kernel_ring_buffer *bufb,
-static int client_stream_id(const struct lib_ring_buffer_config *config,
- struct lib_ring_buffer *bufb,
+static int client_stream_id(const struct lttng_kernel_ring_buffer_config *config,
+ struct lttng_kernel_ring_buffer *bufb,
-static int client_sequence_number(const struct lib_ring_buffer_config *config,
- struct lib_ring_buffer *bufb,
+static int client_sequence_number(const struct lttng_kernel_ring_buffer_config *config,
+ struct lttng_kernel_ring_buffer *bufb,
-int client_instance_id(const struct lib_ring_buffer_config *config,
- struct lib_ring_buffer *bufb,
+int client_instance_id(const struct lttng_kernel_ring_buffer_config *config,
+ struct lttng_kernel_ring_buffer *bufb,
-static void client_record_get(const struct lib_ring_buffer_config *config,
- struct channel *chan, struct lib_ring_buffer *buf,
+static void client_record_get(const struct lttng_kernel_ring_buffer_config *config,
+ struct lttng_kernel_ring_buffer_channel *chan, struct lttng_kernel_ring_buffer *buf,
size_t offset, size_t *header_len,
size_t *payload_len, u64 *timestamp)
{
size_t offset, size_t *header_len,
size_t *payload_len, u64 *timestamp)
{
.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,
.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,
void *priv, void *buf_addr,
size_t subbuf_size, size_t num_subbuf,
unsigned int switch_timer_interval,
unsigned int read_timer_interval)
{
struct lttng_event_notifier_group *event_notifier_group = priv;
void *priv, void *buf_addr,
size_t subbuf_size, size_t num_subbuf,
unsigned int switch_timer_interval,
unsigned int read_timer_interval)
{
struct lttng_event_notifier_group *event_notifier_group = priv;
chan = channel_create(&client_config, name,
event_notifier_group, buf_addr,
chan = channel_create(&client_config, name,
event_notifier_group, buf_addr,
buf = channel_get_ring_buffer(&client_config, chan, 0);
if (!lib_ring_buffer_open_read(buf))
buf = channel_get_ring_buffer(&client_config, chan, 0);
if (!lib_ring_buffer_open_read(buf))
-void lttng_write_event_notifier_header(const struct lib_ring_buffer_config *config,
- struct lib_ring_buffer_ctx *ctx)
+void lttng_write_event_notifier_header(const struct lttng_kernel_ring_buffer_config *config,
+ struct lttng_kernel_ring_buffer_ctx *ctx)
-void lttng_event_write(struct lib_ring_buffer_ctx *ctx, const void *src,
- size_t len)
+void lttng_event_write(struct lttng_kernel_ring_buffer_ctx *ctx, const void *src,
+ size_t len, size_t alignment)
lib_ring_buffer_write(&client_config, ctx, src, len);
}
static
lib_ring_buffer_write(&client_config, ctx, src, len);
}
static
-void lttng_event_write_from_user(struct lib_ring_buffer_ctx *ctx,
- const void __user *src, size_t len)
+void lttng_event_write_from_user(struct lttng_kernel_ring_buffer_ctx *ctx,
+ const void __user *src, size_t len, size_t alignment)
lib_ring_buffer_copy_from_user_inatomic(&client_config, ctx, src, len);
}
static
lib_ring_buffer_copy_from_user_inatomic(&client_config, ctx, src, len);
}
static
int c, size_t len)
{
lib_ring_buffer_memset(&client_config, ctx, c, len);
}
static
int c, size_t len)
{
lib_ring_buffer_memset(&client_config, ctx, c, len);
}
static
size_t len)
{
lib_ring_buffer_strcpy(&client_config, ctx, src, len, '#');
}
static
size_t len)
{
lib_ring_buffer_strcpy(&client_config, ctx, src, len, '#');
}
static
buf = chan->backend.buf; /* Only for global buffer ! */
o_begin = v_read(&client_config, &buf->offset);
buf = chan->backend.buf; /* Only for global buffer ! */
o_begin = v_read(&client_config, &buf->offset);