-static __inline__
-uint64_t trace_clock_freq(void)
-{
- struct lttng_trace_clock *ltc = CMM_LOAD_SHARED(lttng_trace_clock);
-
- if (!ltc) {
- return trace_clock_freq_monotonic();
- } else {
- cmm_read_barrier_depends(); /* load ltc before content */
- return ltc->freq();
- }
-}
-
-static __inline__
-int trace_clock_uuid(char *uuid)
-{
- struct lttng_trace_clock *ltc = CMM_LOAD_SHARED(lttng_trace_clock);
-
- cmm_read_barrier_depends(); /* load ltc before content */
- /* Use default UUID cb when NULL */
- if (!ltc || !ltc->uuid) {
- return trace_clock_uuid_monotonic(uuid);
- } else {
- return ltc->uuid(uuid);
- }
-}
-
-static __inline__
-const char *trace_clock_name(void)
-{
- struct lttng_trace_clock *ltc = CMM_LOAD_SHARED(lttng_trace_clock);
-
- if (!ltc) {
- return trace_clock_name_monotonic();
- } else {
- cmm_read_barrier_depends(); /* load ltc before content */
- return ltc->name();
- }
-}
-
-static __inline__
-const char *trace_clock_description(void)
-{
- struct lttng_trace_clock *ltc = CMM_LOAD_SHARED(lttng_trace_clock);
-
- if (!ltc) {
- return trace_clock_description_monotonic();
- } else {
- cmm_read_barrier_depends(); /* load ltc before content */
- return ltc->description();
- }
-}
-