X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=include%2Fust%2Fmarker.h;h=a1f55b0b76338f6db9fa7d4c7309b3f7f6ba862c;hb=773655f35716237829e6e252e27165ca4044f930;hp=7670648ba4b36738765e440707f8eba0f19003f6;hpb=f91aa7301fe975dc6b1d5583f7ffb6c4d2dbf325;p=ust.git diff --git a/include/ust/marker.h b/include/ust/marker.h index 7670648..a1f55b0 100644 --- a/include/ust/marker.h +++ b/include/ust/marker.h @@ -75,10 +75,11 @@ struct marker { const char *tp_name; /* Optional tracepoint name */ void *tp_cb; /* Optional tracepoint callback */ void *location; /* Address of marker in code */ -} __attribute__((aligned(8))); - -#define CONFIG_MARKERS -#ifdef CONFIG_MARKERS +} __attribute__((aligned(128)));/* + * Aligned on 128 bytes because it is + * globally visible and gcc happily + * align these on the structure size. + */ #define GET_MARKER(channel, name) (__mark_##channel##_##name) @@ -146,7 +147,7 @@ struct marker { __attribute__((section("__markers_strings"))) \ = #channel "\0" #name "\0" format; \ static struct marker GET_MARKER(channel, name) \ - __attribute__((section("__markers"), aligned(8))) = \ + __attribute__((section("__markers"), aligned(128))) = \ { __mstrtab_##channel##_##name, \ &__mstrtab_##channel##_##name[sizeof(#channel)], \ &__mstrtab_##channel##_##name[sizeof(#channel) + sizeof(#name)], \ @@ -200,25 +201,6 @@ struct marker { extern void marker_update_probe_range(struct marker *begin, struct marker *end); -#else /* !CONFIG_MARKERS */ -#define DEFINE_MARKER(channel, name, tp_name, tp_cb, format, m) -#define __trace_mark(generic, channel, name, call_private, format, args...) \ - __mark_check_format(format, ## args) -#define __trace_mark_tp(channel, name, call_private, tp_name, tp_cb, \ - format, args...) \ - do { \ - void __check_tp_type(void) \ - { \ - register_trace_##tp_name(tp_cb, call_private); \ - } \ - __mark_check_format(format, ## args); \ - } while (0) -static inline void marker_update_probe_range(struct marker *begin, - struct marker *end) -{ } -#define GET_MARKER(channel, name) -#endif /* CONFIG_MARKERS */ - /** * trace_mark - Marker using code patching * @channel: marker channel (where to send the data), not quoted. @@ -352,7 +334,7 @@ struct lib { struct marker_addr *markers_addr_start; #endif int markers_count; - struct list_head list; + struct cds_list_head list; }; extern int marker_register_lib(struct marker *markers_start, int markers_count);