X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=liblttng-ust-ctl%2Fustctl.c;h=9acce7a99b9d55fac380fb782c7f70e4e78f8e62;hb=b670e9e80fd344432cb56e3c168b60103acd77d0;hp=2838599035a71bafb44a4f13de62d6bfbd9732c5;hpb=3b8bedd809f1a5b56da5fc101a90b44263b0f473;p=lttng-ust.git diff --git a/liblttng-ust-ctl/ustctl.c b/liblttng-ust-ctl/ustctl.c index 28385990..9acce7a9 100644 --- a/liblttng-ust-ctl/ustctl.c +++ b/liblttng-ust-ctl/ustctl.c @@ -30,6 +30,7 @@ #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" @@ -83,29 +84,6 @@ struct ustctl_daemon_counter { 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; @@ -1353,7 +1331,7 @@ int ustctl_write_metadata_to_channel( reserve_len = min_t(size_t, lttng_chan_buf->ops->priv->packet_avail_size(lttng_chan_buf), len - pos); - lttng_ust_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 @@ -1362,7 +1340,7 @@ int ustctl_write_metadata_to_channel( */ 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); @@ -1374,7 +1352,7 @@ int ustctl_write_metadata_to_channel( 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: @@ -1400,15 +1378,15 @@ ssize_t ustctl_write_one_packet_to_channel( reserve_len = min_t(ssize_t, lttng_chan_buf->ops->priv->packet_avail_size(lttng_chan_buf), len); - lttng_ust_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: @@ -2928,24 +2906,14 @@ 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)) 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(); }