X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=include%2Flttng%2Fevents.h;h=157aaca7ad07e7f792ebd44305abe4e70c1bb106;hb=8c0393c3679b2f047a723b23e012188b064797d4;hp=811833f352a71bc948f583fced890d15093d1e39;hpb=a44f47ddfa0b2a35f89d22d33dec1363845ec387;p=lttng-modules.git diff --git a/include/lttng/events.h b/include/lttng/events.h index 811833f3..157aaca7 100644 --- a/include/lttng/events.h +++ b/include/lttng/events.h @@ -26,7 +26,7 @@ #define lttng_is_signed_type(type) (((type) -1) < (type) 1) struct lttng_channel; -struct lttng_session; +struct lttng_kernel_session; struct lttng_metadata_cache; struct lttng_kernel_ring_buffer_ctx; struct perf_event; @@ -410,7 +410,7 @@ struct lttng_channel { int enabled; struct lttng_kernel_ctx *ctx; /* Event ID management */ - struct lttng_session *session; + struct lttng_kernel_session *session; struct file *file; /* File associated to channel */ unsigned int free_event_id; /* Next event ID to allocate */ struct list_head list; /* Channel list */ @@ -445,67 +445,40 @@ struct lttng_dynamic_len_stack { DECLARE_PER_CPU(struct lttng_dynamic_len_stack, lttng_dynamic_len_stack); /* - * struct lttng_id_tracker declared in header due to deferencing of *v + * struct lttng_kernel_id_tracker declared in header due to deferencing of *v * in RCU_INITIALIZER(v). */ #define LTTNG_ID_HASH_BITS 6 #define LTTNG_ID_TABLE_SIZE (1 << LTTNG_ID_HASH_BITS) -enum tracker_type { - TRACKER_PID, - TRACKER_VPID, - TRACKER_UID, - TRACKER_VUID, - TRACKER_GID, - TRACKER_VGID, - - TRACKER_UNKNOWN, -}; - -struct lttng_id_tracker_rcu { +struct lttng_kernel_id_tracker_rcu { struct hlist_head id_hash[LTTNG_ID_TABLE_SIZE]; }; -struct lttng_id_tracker { - struct lttng_session *session; - enum tracker_type tracker_type; - struct lttng_id_tracker_rcu *p; /* RCU dereferenced. */ -}; +struct lttng_kernel_id_tracker { + struct lttng_kernel_id_tracker_private *priv; /* Private API */ -struct lttng_id_hash_node { - struct hlist_node hlist; - int id; + struct lttng_kernel_id_tracker_rcu *p; /* RCU dereferenced. */ }; -struct lttng_session { +struct lttng_kernel_session_private; + +struct lttng_kernel_session { + struct lttng_kernel_session_private *priv; /* Private session interface */ + int active; /* Is trace session active ? */ - int been_active; /* Has trace session been active ? */ - struct file *file; /* File associated to session */ - struct list_head chan; /* Channel list head */ - struct list_head events; /* Event list head */ - struct list_head list; /* Session list */ - unsigned int free_chan_id; /* Next chan ID to allocate */ - uuid_le uuid; /* Trace session unique ID */ - struct lttng_metadata_cache *metadata_cache; - struct lttng_id_tracker pid_tracker; - struct lttng_id_tracker vpid_tracker; - struct lttng_id_tracker uid_tracker; - struct lttng_id_tracker vuid_tracker; - struct lttng_id_tracker gid_tracker; - struct lttng_id_tracker vgid_tracker; - unsigned int metadata_dumped:1, - tstate:1; /* Transient enable state */ - /* List of event enablers */ - struct list_head enablers_head; - /* Hash table of events */ - struct lttng_event_ht events_ht; - char name[LTTNG_KERNEL_ABI_SESSION_NAME_LEN]; - char creation_time[LTTNG_KERNEL_ABI_SESSION_CREATION_TIME_ISO8601_LEN]; + + struct lttng_kernel_id_tracker pid_tracker; + struct lttng_kernel_id_tracker vpid_tracker; + struct lttng_kernel_id_tracker uid_tracker; + struct lttng_kernel_id_tracker vuid_tracker; + struct lttng_kernel_id_tracker gid_tracker; + struct lttng_kernel_id_tracker vgid_tracker; }; int lttng_kernel_probe_register(struct lttng_kernel_probe_desc *desc); void lttng_kernel_probe_unregister(struct lttng_kernel_probe_desc *desc); -bool lttng_id_tracker_lookup(struct lttng_id_tracker_rcu *p, int id); +bool lttng_id_tracker_lookup(struct lttng_kernel_id_tracker_rcu *p, int id); #endif /* _LTTNG_EVENTS_H */