X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=lttng-events.h;h=17dd8d3a3c312ef35da53f4cbbdd4aba75d4a2f7;hb=1b25fe5879436a90fd22a731e9d3371807e78ba1;hp=42a7b24bbb35f103e771d8488cf11ffc6273f265;hpb=08ad106103b693905300061cd61affd24ebbba6b;p=lttng-modules.git diff --git a/lttng-events.h b/lttng-events.h index 42a7b24b..17dd8d3a 100644 --- a/lttng-events.h +++ b/lttng-events.h @@ -27,6 +27,7 @@ #include #include #include +#include #include #include #include @@ -184,8 +185,13 @@ union lttng_ctx_value { * lttng_ctx_field because cpu hotplug needs fixed-location addresses. */ struct lttng_perf_counter_field { +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0)) + struct lttng_cpuhp_node cpuhp_prepare; + struct lttng_cpuhp_node cpuhp_online; +#else struct notifier_block nb; int hp_enable; +#endif struct perf_event_attr *attr; struct perf_event **e; /* per-cpu array */ }; @@ -318,7 +324,7 @@ struct lttng_event { }; enum lttng_enabler_type { - LTTNG_ENABLER_WILDCARD, + LTTNG_ENABLER_STAR_GLOB, LTTNG_ENABLER_NAME, }; @@ -701,6 +707,10 @@ int lttng_add_perf_counter_to_ctx(uint32_t type, uint64_t config, const char *name, struct lttng_ctx **ctx); +int lttng_cpuhp_perf_counter_online(unsigned int cpu, + struct lttng_cpuhp_node *node); +int lttng_cpuhp_perf_counter_dead(unsigned int cpu, + struct lttng_cpuhp_node *node); #else static inline int lttng_add_perf_counter_to_ctx(uint32_t type, @@ -710,6 +720,18 @@ int lttng_add_perf_counter_to_ctx(uint32_t type, { return -ENOSYS; } +static inline +int lttng_cpuhp_perf_counter_online(unsigned int cpu, + struct lttng_cpuhp_node *node) +{ + return 0; +} +static inline +int lttng_cpuhp_perf_counter_dead(unsigned int cpu, + struct lttng_cpuhp_node *node) +{ + return 0; +} #endif int lttng_logger_init(void); @@ -788,7 +810,7 @@ int lttng_kretprobes_event_enable_state(struct lttng_event *event, } #endif -#ifdef CONFIG_DYNAMIC_FTRACE +#if defined(CONFIG_DYNAMIC_FTRACE) && !defined(LTTNG_FTRACE_MISSING_HEADER) int lttng_ftrace_register(const char *name, const char *symbol_name, struct lttng_event *event);