#include "../liblttng-ust/clock.h"
#include "../liblttng-ust/getenv.h"
#include "../liblttng-ust/lttng-tracer-core.h"
+#include "../liblttng-ust/lttng-counter-client.h"
#include "../libcounter/shm.h"
#include "../libcounter/smp.h"
struct ustctl_counter_attr *attr; /* initial attributes */
};
-extern void lttng_ring_buffer_client_overwrite_init(void);
-extern void lttng_ring_buffer_client_overwrite_rt_init(void);
-extern void lttng_ring_buffer_client_discard_init(void);
-extern void lttng_ring_buffer_client_discard_rt_init(void);
-extern void lttng_ring_buffer_metadata_client_init(void);
-extern void lttng_ring_buffer_client_overwrite_exit(void);
-extern void lttng_ring_buffer_client_overwrite_rt_exit(void);
-extern void lttng_ring_buffer_client_discard_exit(void);
-extern void lttng_ring_buffer_client_discard_rt_exit(void);
-extern void lttng_ring_buffer_metadata_client_exit(void);
-
-__attribute__((visibility("hidden")))
-extern void lttng_counter_client_percpu_32_modular_init(void);
-
-__attribute__((visibility("hidden")))
-extern void lttng_counter_client_percpu_32_modular_exit(void);
-
-__attribute__((visibility("hidden")))
-extern void lttng_counter_client_percpu_64_modular_init(void);
-
-__attribute__((visibility("hidden")))
-extern void lttng_counter_client_percpu_64_modular_exit(void);
-
int ustctl_release_handle(int sock, int handle)
{
struct ustcomm_ust_msg lum;
reserve_len = min_t(size_t,
lttng_chan_buf->ops->priv->packet_avail_size(lttng_chan_buf),
len - pos);
- lib_ring_buffer_ctx_init(&ctx, rb_chan, NULL, reserve_len, sizeof(char));
+ lttng_ust_lib_ring_buffer_ctx_init(&ctx, rb_chan, reserve_len, sizeof(char), NULL);
/*
* We don't care about metadata buffer's records lost
* count, because we always retry here. Report error if
*/
waitret = wait_cond_interruptible_timeout(
({
- ret = lttng_chan_buf->ops->event_reserve(&ctx, 0);
+ ret = lttng_chan_buf->ops->event_reserve(&ctx);
ret != -ENOBUFS || !ret;
}),
LTTNG_METADATA_TIMEOUT_MSEC);
ret = waitret;
goto end;
}
- lttng_chan_buf->ops->event_write(&ctx, &str[pos], reserve_len);
+ lttng_chan_buf->ops->event_write(&ctx, &str[pos], reserve_len, 1);
lttng_chan_buf->ops->event_commit(&ctx);
}
end:
reserve_len = min_t(ssize_t,
lttng_chan_buf->ops->priv->packet_avail_size(lttng_chan_buf),
len);
- lib_ring_buffer_ctx_init(&ctx, rb_chan, NULL, reserve_len, sizeof(char));
- ret = lttng_chan_buf->ops->event_reserve(&ctx, 0);
+ lttng_ust_lib_ring_buffer_ctx_init(&ctx, rb_chan, reserve_len, sizeof(char), NULL);
+ ret = lttng_chan_buf->ops->event_reserve(&ctx);
if (ret != 0) {
DBG("LTTng: event reservation failed");
assert(ret < 0);
reserve_len = ret;
goto end;
}
- lttng_chan_buf->ops->event_write(&ctx, str, reserve_len);
+ lttng_chan_buf->ops->event_write(&ctx, str, reserve_len, 1);
lttng_chan_buf->ops->event_commit(&ctx);
end:
return counter->ops->counter_clear(counter->counter, dimension_indexes);
}
-static __attribute__((constructor))
+static
+void ustctl_init(void)
+ __attribute__((constructor));
+static
void ustctl_init(void)
{
ust_err_init();
lttng_ust_getenv_init(); /* Needs ust_err_init() to be completed. */
lttng_ust_clock_init();
- lttng_ring_buffer_metadata_client_init();
- lttng_ring_buffer_client_overwrite_init();
- lttng_ring_buffer_client_overwrite_rt_init();
- lttng_ring_buffer_client_discard_init();
- lttng_ring_buffer_client_discard_rt_init();
- lttng_counter_client_percpu_32_modular_init();
- lttng_counter_client_percpu_64_modular_init();
+ lttng_ust_ring_buffer_clients_init();
+ lttng_ust_counter_clients_init();
lib_ringbuffer_signal_init();
}
-static __attribute__((destructor))
+static
+void ustctl_exit(void)
+ __attribute__((destructor));
+static
void ustctl_exit(void)
{
- lttng_ring_buffer_client_discard_rt_exit();
- lttng_ring_buffer_client_discard_exit();
- lttng_ring_buffer_client_overwrite_rt_exit();
- lttng_ring_buffer_client_overwrite_exit();
- lttng_ring_buffer_metadata_client_exit();
- lttng_counter_client_percpu_32_modular_exit();
- lttng_counter_client_percpu_64_modular_exit();
+ lttng_ust_counter_clients_exit();
+ lttng_ust_ring_buffer_clients_exit();
}