X-Git-Url: https://git.liburcu.org/?a=blobdiff_plain;f=src%2Flib%2Flttng-ust%2Flttng-context-uts-ns.c;h=cef6cf17e68c46dc2bbe3ae0e70e127abaabe11e;hb=742ac92a271c97c49bd79444594c0e8dfe099f9e;hp=b28fe8749a7f3f22da94fb9291a9e6b962216cc7;hpb=6339062a5bbe886493d0691d13e28e37a7206362;p=lttng-ust.git diff --git a/src/lib/lttng-ust/lttng-context-uts-ns.c b/src/lib/lttng-ust/lttng-context-uts-ns.c index b28fe874..cef6cf17 100644 --- a/src/lib/lttng-ust/lttng-context-uts-ns.c +++ b/src/lib/lttng-ust/lttng-context-uts-ns.c @@ -15,13 +15,13 @@ #include #include #include -#include +#include #include "common/compat/tid.h" #include #include "context-internal.h" #include "lttng-tracer-core.h" -#include "ns.h" +#include "common/ns.h" /* @@ -92,19 +92,21 @@ void lttng_context_uts_ns_reset(void) static size_t uts_ns_get_size(void *priv __attribute__((unused)), + struct lttng_ust_probe_ctx *probe_ctx __attribute__((unused)), size_t offset) { size_t size = 0; - size += lttng_ust_lib_ring_buffer_align(offset, lttng_ust_rb_alignof(ino_t)); + size += lttng_ust_ring_buffer_align(offset, lttng_ust_rb_alignof(ino_t)); size += sizeof(ino_t); return size; } static void uts_ns_record(void *priv __attribute__((unused)), - struct lttng_ust_lib_ring_buffer_ctx *ctx, - struct lttng_ust_channel_buffer *chan) + struct lttng_ust_probe_ctx *probe_ctx __attribute__((unused)), + struct lttng_ust_ring_buffer_ctx *ctx, + struct lttng_ust_channel_buffer *chan) { ino_t uts_ns; @@ -114,9 +116,10 @@ void uts_ns_record(void *priv __attribute__((unused)), static void uts_ns_get_value(void *priv __attribute__((unused)), + struct lttng_ust_probe_ctx *probe_ctx __attribute__((unused)), struct lttng_ust_ctx_value *value) { - value->u.s64 = get_uts_ns(); + value->u.u64 = get_uts_ns(); } static const struct lttng_ust_ctx_field *ctx_field = lttng_ust_static_ctx_field( @@ -124,7 +127,7 @@ static const struct lttng_ust_ctx_field *ctx_field = lttng_ust_static_ctx_field( lttng_ust_static_type_integer(sizeof(ino_t) * CHAR_BIT, lttng_ust_rb_alignof(ino_t) * CHAR_BIT, lttng_ust_is_signed_type(ino_t), - BYTE_ORDER, 10), + LTTNG_UST_BYTE_ORDER, 10), false, false), uts_ns_get_size, uts_ns_record, @@ -149,9 +152,11 @@ error_find_context: } /* - * * Force a read (imply TLS fixup for dlopen) of TLS variables. - * */ -void lttng_fixup_uts_ns_tls(void) + * Force a read (imply TLS allocation for dlopen) of TLS variables. + */ +void lttng_ust_uts_ns_init_thread(int flags) { - asm volatile ("" : : "m" (URCU_TLS(cached_uts_ns))); + __asm__ __volatile__ ("" : : "m" (URCU_TLS(cached_uts_ns))); + if (flags & LTTNG_UST_INIT_THREAD_CONTEXT_CACHE) + (void)get_uts_ns(); }