#include <urcu/arch.h>
#include <urcu/list.h>
#include <lttng/ust-tracer.h>
-#include <lttng/ringbuffer-context.h>
+#include <lttng/ust-ringbuffer-context.h>
#include "common/logging.h"
+enum lttng_ust_init_thread_flags {
+ LTTNG_UST_INIT_THREAD_CONTEXT_CACHE = (1 << 0),
+ LTTNG_UST_INIT_THREAD_MASK = (LTTNG_UST_INIT_THREAD_CONTEXT_CACHE << 1) - 1,
+};
+
struct lttng_ust_session;
struct lttng_ust_channel_buffer;
struct lttng_ust_ctx_field;
-struct lttng_ust_lib_ring_buffer_ctx;
+struct lttng_ust_ring_buffer_ctx;
struct lttng_ust_ctx_value;
struct lttng_ust_event_recorder;
struct lttng_ust_event_notifier;
void ust_unlock(void)
__attribute__((visibility("hidden")));
-void lttng_ust_fixup_tls(void)
- __attribute__((visibility("hidden")));
-
-void lttng_fixup_event_tls(void)
+void lttng_ust_common_init_thread(int flags)
__attribute__((visibility("hidden")));
-void lttng_fixup_vtid_tls(void)
+void lttng_ust_vtid_init_thread(int flags)
__attribute__((visibility("hidden")));
-void lttng_fixup_procname_tls(void)
+void lttng_ust_procname_init_thread(int flags)
__attribute__((visibility("hidden")));
-void lttng_fixup_cgroup_ns_tls(void)
+void lttng_ust_cgroup_ns_init_thread(int flags)
__attribute__((visibility("hidden")));
-void lttng_fixup_ipc_ns_tls(void)
+void lttng_ust_ipc_ns_init_thread(int flags)
__attribute__((visibility("hidden")));
-void lttng_fixup_net_ns_tls(void)
+void lttng_ust_net_ns_init_thread(int flags)
__attribute__((visibility("hidden")));
-void lttng_fixup_time_ns_tls(void)
+void lttng_ust_time_ns_init_thread(int flags)
__attribute__((visibility("hidden")));
-void lttng_fixup_uts_ns_tls(void)
+void lttng_ust_uts_ns_init_thread(int flags)
__attribute__((visibility("hidden")));
const char *lttng_ust_obj_get_name(int id)
void lttng_ust_sockinfo_session_enabled(void *owner)
__attribute__((visibility("hidden")));
-ssize_t lttng_ust_read(int fd, void *buf, size_t len)
- __attribute__((visibility("hidden")));
-
-size_t lttng_ust_dummy_get_size(void *priv, size_t offset)
- __attribute__((visibility("hidden")));
-
-void lttng_ust_dummy_record(void *priv, struct lttng_ust_lib_ring_buffer_ctx *ctx,
- struct lttng_ust_channel_buffer *chan)
- __attribute__((visibility("hidden")));
-
-void lttng_ust_dummy_get_value(void *priv, struct lttng_ust_ctx_value *value)
- __attribute__((visibility("hidden")));
-
void lttng_event_notifier_notification_send(
- struct lttng_ust_event_notifier *event_notifier,
+ const struct lttng_ust_event_notifier *event_notifier,
const char *stack_data,
+ struct lttng_ust_probe_ctx *probe_ctx,
struct lttng_ust_notification_ctx *notif_ctx)
__attribute__((visibility("hidden")));
-struct lttng_counter_transport *lttng_counter_transport_find(const char *name)
- __attribute__((visibility("hidden")));
-
-void lttng_counter_transport_register(struct lttng_counter_transport *transport)
- __attribute__((visibility("hidden")));
-
-void lttng_counter_transport_unregister(struct lttng_counter_transport *transport)
- __attribute__((visibility("hidden")));
-
#ifdef HAVE_LINUX_PERF_EVENT_H
-void lttng_ust_fixup_perf_counter_tls(void)
+void lttng_ust_perf_counter_init_thread(int flags)
__attribute__((visibility("hidden")));
void lttng_perf_lock(void)
__attribute__((visibility("hidden")));
#else /* #ifdef HAVE_LINUX_PERF_EVENT_H */
static inline
-void lttng_ust_fixup_perf_counter_tls(void)
+void lttng_ust_perf_counter_init_thread(int flags __attribute__((unused)))
{
}
static inline