X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=src%2Flib%2Flttng-ust%2Flttng-context-uts-ns.c;h=cef6cf17e68c46dc2bbe3ae0e70e127abaabe11e;hb=742ac92a271c97c49bd79444594c0e8dfe099f9e;hp=9ca666eb7a8468904be71632cdb6be02e2c50a8b;hpb=0b4b88119eced28c0cd4fcec773f76525103ac3f;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 9ca666eb..cef6cf17 100644 --- a/src/lib/lttng-ust/lttng-context-uts-ns.c +++ b/src/lib/lttng-ust/lttng-context-uts-ns.c @@ -92,6 +92,7 @@ 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; @@ -103,8 +104,9 @@ size_t uts_ns_get_size(void *priv __attribute__((unused)), static void uts_ns_record(void *priv __attribute__((unused)), - struct lttng_ust_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(); }