X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=lttng-events.h;h=e0b4358f4024e492c04720072d4ab1a96c5c64af;hb=e3374f8f1adfbfb1a75146e460d9ef72ff641fad;hp=9e05e2f9a56b044c8c690fbbc2ac75a3889d2c58;hpb=601252cfa07fa29f15c769fe3f4cf4419311d6f9;p=lttng-modules.git diff --git a/lttng-events.h b/lttng-events.h index 9e05e2f9..e0b4358f 100644 --- a/lttng-events.h +++ b/lttng-events.h @@ -27,6 +27,7 @@ #include #include #include +#include #include #include #include @@ -77,6 +78,9 @@ struct lttng_enum_value { struct lttng_enum_entry { struct lttng_enum_value start, end; /* start and end are inclusive */ const char *string; + struct { + unsigned int is_auto:1; + } options; }; #define __type_integer(_type, _size, _alignment, _signedness, \ @@ -181,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 */ }; @@ -298,9 +307,6 @@ struct lttng_event { struct lttng_krp *lttng_krp; char *symbol_name; } kretprobe; - struct { - char *symbol_name; - } ftrace; } u; struct list_head list; /* Event list in session */ unsigned int metadata_dumped:1; @@ -315,7 +321,7 @@ struct lttng_event { }; enum lttng_enabler_type { - LTTNG_ENABLER_WILDCARD, + LTTNG_ENABLER_STAR_GLOB, LTTNG_ENABLER_NAME, }; @@ -698,6 +704,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, @@ -707,6 +717,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); @@ -785,32 +807,6 @@ int lttng_kretprobes_event_enable_state(struct lttng_event *event, } #endif -#ifdef CONFIG_DYNAMIC_FTRACE -int lttng_ftrace_register(const char *name, - const char *symbol_name, - struct lttng_event *event); -void lttng_ftrace_unregister(struct lttng_event *event); -void lttng_ftrace_destroy_private(struct lttng_event *event); -#else -static inline -int lttng_ftrace_register(const char *name, - const char *symbol_name, - struct lttng_event *event) -{ - return -ENOSYS; -} - -static inline -void lttng_ftrace_unregister(struct lttng_event *event) -{ -} - -static inline -void lttng_ftrace_destroy_private(struct lttng_event *event) -{ -} -#endif - int lttng_calibrate(struct lttng_kernel_calibrate *calibrate); extern const struct file_operations lttng_tracepoint_list_fops;