X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=lttng-events.h;h=470df254f41a34927e273c447f78f8b5d1c2ae88;hb=853aee818b0f82ff37a7af159b6fa657ec3bcd29;hp=4093bd8abd6a39567bd33213cb33746218c9f3f0;hpb=149b9a9d86d7351ee9a44ce391884cc12e922124;p=lttng-modules.git diff --git a/lttng-events.h b/lttng-events.h index 4093bd8a..470df254 100644 --- a/lttng-events.h +++ b/lttng-events.h @@ -285,6 +285,13 @@ struct lttng_enabler_ref { struct lttng_enabler *ref; /* backward ref */ }; +struct lttng_uprobe_handler { + struct lttng_event *event; + loff_t offset; + struct uprobe_consumer up_consumer; + struct list_head node; +}; + /* * lttng_event structure is referred to by the tracing fast path. It must be * kept small. @@ -308,12 +315,8 @@ struct lttng_event { char *symbol_name; } kretprobe; struct { - char *symbol_name; - } ftrace; - struct { - struct uprobe_consumer up_consumer; struct inode *inode; - loff_t offset; + struct list_head head; } uprobe; } u; struct list_head list; /* Event list in session */ @@ -515,6 +518,8 @@ struct lttng_session { struct list_head enablers_head; /* Hash table of events */ struct lttng_event_ht events_ht; + char name[LTTNG_KERNEL_SESSION_NAME_LEN]; + char creation_time[LTTNG_KERNEL_SESSION_CREATION_TIME_ISO8601_LEN]; }; struct lttng_metadata_cache { @@ -777,19 +782,27 @@ void lttng_kprobes_destroy_private(struct lttng_event *event) } #endif +int lttng_event_add_callsite(struct lttng_event *event, + struct lttng_kernel_event_callsite *callsite); + #ifdef CONFIG_UPROBES int lttng_uprobes_register(const char *name, - const char *path, - uint64_t offset, - struct lttng_event *event); + int fd, struct lttng_event *event); +int lttng_uprobes_add_callsite(struct lttng_event *event, + struct lttng_kernel_event_callsite *callsite); void lttng_uprobes_unregister(struct lttng_event *event); void lttng_uprobes_destroy_private(struct lttng_event *event); #else static inline int lttng_uprobes_register(const char *name, - const char *path, - uint64_t offset, - struct lttng_event *event) + int fd, struct lttng_event *event) +{ + return -ENOSYS; +} + +static inline +int lttng_uprobes_add_callsite(struct lttng_event *event, + struct lttng_kernel_event_callsite *callsite) { return -ENOSYS; } @@ -846,32 +859,6 @@ int lttng_kretprobes_event_enable_state(struct lttng_event *event, } #endif -#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); -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;