From 1316184615e422526ef4fae68f980443414969c1 Mon Sep 17 00:00:00 2001 From: David Goulet Date: Thu, 3 Nov 2011 11:06:40 -0400 Subject: [PATCH] Fix UST renaming and update ust headers Signed-off-by: David Goulet --- include/lttng/lttng-consumer.h | 6 +- liblttng-ustconsumer/lttng-ustconsumer.c | 4 +- ltt-sessiond/lttng-ust-abi.h | 19 ++ ltt-sessiond/lttng-ust-ctl.h | 283 +++++------------------ ltt-sessiond/trace-ust.h | 6 +- ltt-sessiond/ust-app.c | 2 +- ltt-sessiond/ust-app.h | 6 +- 7 files changed, 92 insertions(+), 234 deletions(-) diff --git a/include/lttng/lttng-consumer.h b/include/lttng/lttng-consumer.h index 7ca94cc1d..2587b3b18 100644 --- a/include/lttng/lttng-consumer.h +++ b/include/lttng/lttng-consumer.h @@ -81,12 +81,12 @@ struct lttng_consumer_channel { int wait_fd; void *mmap_base; size_t mmap_len; - struct shm_handle *handle; + struct lttng_ust_shm_handle *handle; int nr_streams; }; /* Forward declaration for UST. */ -struct lib_ring_buffer; +struct lttng_ust_lib_ring_buffer; /* * Internal representation of the streams, sessiond_key is used to identify @@ -111,7 +111,7 @@ struct lttng_consumer_stream { size_t mmap_len; enum lttng_event_output output; /* splice or mmap */ /* For UST */ - struct lib_ring_buffer *buf; + struct lttng_ust_lib_ring_buffer *buf; int cpu; }; diff --git a/liblttng-ustconsumer/lttng-ustconsumer.c b/liblttng-ustconsumer/lttng-ustconsumer.c index 1e0bf55ec..951ef7881 100644 --- a/liblttng-ustconsumer/lttng-ustconsumer.c +++ b/liblttng-ustconsumer/lttng-ustconsumer.c @@ -261,7 +261,7 @@ end_nosignal: int lttng_ustconsumer_allocate_channel(struct lttng_consumer_channel *chan) { - struct object_data obj; + struct lttng_ust_object_data obj; obj.handle = -1; obj.shm_fd = chan->shm_fd; @@ -281,7 +281,7 @@ void lttng_ustconsumer_del_channel(struct lttng_consumer_channel *chan) int lttng_ustconsumer_allocate_stream(struct lttng_consumer_stream *stream) { - struct object_data obj; + struct lttng_ust_object_data obj; int ret; obj.handle = -1; diff --git a/ltt-sessiond/lttng-ust-abi.h b/ltt-sessiond/lttng-ust-abi.h index da2bfb942..5b025aeac 100644 --- a/ltt-sessiond/lttng-ust-abi.h +++ b/ltt-sessiond/lttng-ust-abi.h @@ -78,6 +78,25 @@ struct lttng_ust_context { } u; }; +/* + * Tracer channel attributes. + */ +struct lttng_ust_channel_attr { + int overwrite; /* 1: overwrite, 0: discard */ + uint64_t subbuf_size; /* bytes */ + uint64_t num_subbuf; /* power of 2 */ + unsigned int switch_timer_interval; /* usec */ + unsigned int read_timer_interval; /* usec */ + enum lttng_ust_output output; /* splice, mmap */ +}; + +struct lttng_ust_object_data { + int handle; + int shm_fd; + int wait_fd; + uint64_t memory_map_size; +}; + #define _UST_CMD(minor) (minor) #define _UST_CMDR(minor, type) (minor) #define _UST_CMDW(minor, type) (minor) diff --git a/ltt-sessiond/lttng-ust-ctl.h b/ltt-sessiond/lttng-ust-ctl.h index f3859b846..de5eeafee 100644 --- a/ltt-sessiond/lttng-ust-ctl.h +++ b/ltt-sessiond/lttng-ust-ctl.h @@ -20,265 +20,104 @@ #ifndef _LTTNG_UST_CTL_H #define _LTTNG_UST_CTL_H -/* - * ust-ctl stub API when UST is not present. -*/ - -#include "lttng-ust-abi.h" -#include - -/* - * Tracer channel attributes. - */ -struct lttng_ust_channel_attr { - int overwrite; /* 1: overwrite, 0: discard */ - uint64_t subbuf_size; /* bytes */ - uint64_t num_subbuf; /* power of 2 */ - unsigned int switch_timer_interval; /* usec */ - unsigned int read_timer_interval; /* usec */ - enum lttng_ust_output output; /* splice, mmap */ -}; - -struct object_data { - int handle; - int shm_fd; - int wait_fd; - uint64_t memory_map_size; -}; +#include -static inline -int ustctl_register_done(int sock) -{ - return -ENOSYS; -} -static inline -int ustctl_create_session(int sock) -{ - return -ENOSYS; -} -static inline +int ustctl_register_done(int sock); +int ustctl_create_session(int sock); int ustctl_open_metadata(int sock, int session_handle, struct lttng_ust_channel_attr *chops, - struct object_data **metadata_data) -{ - return -ENOSYS; -} -static inline + struct lttng_ust_object_data **metadata_data); int ustctl_create_channel(int sock, int session_handle, struct lttng_ust_channel_attr *chops, - struct object_data **channel_data) -{ - return -ENOSYS; -} -static inline -int ustctl_create_stream(int sock, struct object_data *channel_data, - struct object_data **stream_data) -{ - return -ENOSYS; -} -static inline + struct lttng_ust_object_data **channel_data); +int ustctl_create_stream(int sock, struct lttng_ust_object_data *channel_data, + struct lttng_ust_object_data **stream_data); int ustctl_create_event(int sock, struct lttng_ust_event *ev, - struct object_data *channel_data, - struct object_data **event_data) -{ - return -ENOSYS; -} -static inline + struct lttng_ust_object_data *channel_data, + struct lttng_ust_object_data **event_data); int ustctl_add_context(int sock, struct lttng_ust_context *ctx, - struct object_data *obj_data, - struct object_data **context_data) -{ - return -ENOSYS; -} + struct lttng_ust_object_data *obj_data, + struct lttng_ust_object_data **context_data); -static inline -int ustctl_enable(int sock, struct object_data *object) -{ - return -ENOSYS; -} -static inline -int ustctl_disable(int sock, struct object_data *object) -{ - return -ENOSYS; -} -static inline -int ustctl_start_session(int sock, int handle) -{ - return -ENOSYS; -} -static inline -int ustctl_stop_session(int sock, int handle) -{ - return -ENOSYS; -} +int ustctl_enable(int sock, struct lttng_ust_object_data *object); +int ustctl_disable(int sock, struct lttng_ust_object_data *object); +int ustctl_start_session(int sock, int handle); +int ustctl_stop_session(int sock, int handle); -static inline -int ustctl_tracepoint_list(int sock) /* not implemented yet */ -{ - return -ENOSYS; -} -static inline -int ustctl_tracer_version(int sock, struct lttng_ust_tracer_version *v) -{ - return -ENOSYS; -} -static inline -int ustctl_wait_quiescent(int sock) -{ - return -ENOSYS; -} +int ustctl_tracepoint_list(int sock); /* not implemented yet */ +int ustctl_tracer_version(int sock, struct lttng_ust_tracer_version *v); +int ustctl_wait_quiescent(int sock); /* Flush each buffers in this channel */ -static inline -int ustctl_flush_buffer(int sock, struct object_data *channel_data) -{ - return -ENOSYS; -} +int ustctl_flush_buffer(int sock, struct lttng_ust_object_data *channel_data); /* not implemented yet */ struct lttng_ust_calibrate; -static inline -int ustctl_calibrate(int sock, struct lttng_ust_calibrate *calibrate) -{ - return -ENOSYS; -} +int ustctl_calibrate(int sock, struct lttng_ust_calibrate *calibrate); /* - * Map channel shm_handle and add streams. Typically performed by the + * Map channel lttng_ust_shm_handle and add streams. Typically performed by the * consumer to map the objects into its memory space. */ -static inline -struct shm_handle *ustctl_map_channel(struct object_data *chan_data) -{ - return NULL; -} -static inline -int ustctl_add_stream(struct shm_handle *shm_handle, - struct object_data *stream_data) -{ - return -ENOSYS; -} +struct lttng_ust_shm_handle *ustctl_map_channel(struct lttng_ust_object_data *chan_data); +int ustctl_add_stream(struct lttng_ust_shm_handle *lttng_ust_shm_handle, + struct lttng_ust_object_data *stream_data); /* - * Note: the object_data from which the shm_handle is derived can only + * Note: the lttng_ust_object_data from which the lttng_ust_shm_handle is derived can only * be released after unmapping the handle. */ -static inline -void ustctl_unmap_channel(struct shm_handle *shm_handle) -{ -} +void ustctl_unmap_channel(struct lttng_ust_shm_handle *lttng_ust_shm_handle); /* Buffer operations */ -struct shm_handle; -struct lib_ring_buffer; +struct lttng_ust_shm_handle; +struct lttng_ust_lib_ring_buffer; /* Open/close stream buffers for read */ -static inline -struct lib_ring_buffer *ustctl_open_stream_read(struct shm_handle *handle, - int cpu) -{ - return NULL; -} -static inline -void ustctl_close_stream_read(struct shm_handle *handle, - struct lib_ring_buffer *buf) -{ -} +struct lttng_ust_lib_ring_buffer *ustctl_open_stream_read(struct lttng_ust_shm_handle *handle, + int cpu); +void ustctl_close_stream_read(struct lttng_ust_shm_handle *handle, + struct lttng_ust_lib_ring_buffer *buf); /* For mmap mode, readable without "get" operation */ -static inline -int ustctl_get_mmap_len(struct shm_handle *handle, - struct lib_ring_buffer *buf, - unsigned long *len) -{ - return -ENOSYS; -} -static inline -int ustctl_get_max_subbuf_size(struct shm_handle *handle, - struct lib_ring_buffer *buf, - unsigned long *len) -{ - return -ENOSYS; -} +int ustctl_get_mmap_len(struct lttng_ust_shm_handle *handle, + struct lttng_ust_lib_ring_buffer *buf, + unsigned long *len); +int ustctl_get_max_subbuf_size(struct lttng_ust_shm_handle *handle, + struct lttng_ust_lib_ring_buffer *buf, + unsigned long *len); /* * For mmap mode, operate on the current packet (between get/put or * get_next/put_next). */ -static inline -void *ustctl_get_mmap_base(struct shm_handle *handle, - struct lib_ring_buffer *buf) -{ - return NULL; -} -static inline -int ustctl_get_mmap_read_offset(struct shm_handle *handle, - struct lib_ring_buffer *buf, unsigned long *off) -{ - return -ENOSYS; -} -static inline -int ustctl_get_subbuf_size(struct shm_handle *handle, - struct lib_ring_buffer *buf, unsigned long *len) -{ - return -ENOSYS; -} -static inline -int ustctl_get_padded_subbuf_size(struct shm_handle *handle, - struct lib_ring_buffer *buf, unsigned long *len) -{ - return -ENOSYS; -} -static inline -int ustctl_get_next_subbuf(struct shm_handle *handle, - struct lib_ring_buffer *buf) -{ - return -ENOSYS; -} -static inline -int ustctl_put_next_subbuf(struct shm_handle *handle, - struct lib_ring_buffer *buf) -{ - return -ENOSYS; -} +void *ustctl_get_mmap_base(struct lttng_ust_shm_handle *handle, + struct lttng_ust_lib_ring_buffer *buf); +int ustctl_get_mmap_read_offset(struct lttng_ust_shm_handle *handle, + struct lttng_ust_lib_ring_buffer *buf, unsigned long *off); +int ustctl_get_subbuf_size(struct lttng_ust_shm_handle *handle, + struct lttng_ust_lib_ring_buffer *buf, unsigned long *len); +int ustctl_get_padded_subbuf_size(struct lttng_ust_shm_handle *handle, + struct lttng_ust_lib_ring_buffer *buf, unsigned long *len); +int ustctl_get_next_subbuf(struct lttng_ust_shm_handle *handle, + struct lttng_ust_lib_ring_buffer *buf); +int ustctl_put_next_subbuf(struct lttng_ust_shm_handle *handle, + struct lttng_ust_lib_ring_buffer *buf); /* snapshot */ -static inline -int ustctl_snapshot(struct shm_handle *handle, - struct lib_ring_buffer *buf) -{ - return -ENOSYS; -} -static inline -int ustctl_snapshot_get_consumed(struct shm_handle *handle, - struct lib_ring_buffer *buf, unsigned long *pos) -{ - return -ENOSYS; -} -static inline -int ustctl_snapshot_get_produced(struct shm_handle *handle, - struct lib_ring_buffer *buf, unsigned long *pos) -{ - return -ENOSYS; -} -static inline -int ustctl_get_subbuf(struct shm_handle *handle, - struct lib_ring_buffer *buf, unsigned long *pos) -{ - return -ENOSYS; -} -static inline -int ustctl_put_subbuf(struct shm_handle *handle, - struct lib_ring_buffer *buf) -{ - return -ENOSYS; -} +int ustctl_snapshot(struct lttng_ust_shm_handle *handle, + struct lttng_ust_lib_ring_buffer *buf); +int ustctl_snapshot_get_consumed(struct lttng_ust_shm_handle *handle, + struct lttng_ust_lib_ring_buffer *buf, unsigned long *pos); +int ustctl_snapshot_get_produced(struct lttng_ust_shm_handle *handle, + struct lttng_ust_lib_ring_buffer *buf, unsigned long *pos); +int ustctl_get_subbuf(struct lttng_ust_shm_handle *handle, + struct lttng_ust_lib_ring_buffer *buf, unsigned long *pos); +int ustctl_put_subbuf(struct lttng_ust_shm_handle *handle, + struct lttng_ust_lib_ring_buffer *buf); /* Release object created by members of this API */ -static inline -void release_object(int sock, struct object_data *data) -{ -} +void release_object(int sock, struct lttng_ust_object_data *data); #endif /* _LTTNG_UST_CTL_H */ diff --git a/ltt-sessiond/trace-ust.h b/ltt-sessiond/trace-ust.h index 518eafbe6..aea7e714f 100644 --- a/ltt-sessiond/trace-ust.h +++ b/ltt-sessiond/trace-ust.h @@ -52,7 +52,7 @@ struct ltt_ust_event { struct ltt_ust_stream { int handle; char pathname[PATH_MAX]; - struct object_data *obj; + struct lttng_ust_object_data *obj; struct cds_lfht_node node; }; @@ -69,10 +69,10 @@ struct ltt_ust_channel { /* UST Metadata */ struct ltt_ust_metadata { int handle; - struct object_data *obj; + struct lttng_ust_object_data *obj; char pathname[PATH_MAX]; /* Trace file path name */ struct lttng_ust_channel attr; - struct object_data *stream_obj; + struct lttng_ust_object_data *stream_obj; }; /* UST domain global (LTTNG_DOMAIN_UST) */ diff --git a/ltt-sessiond/ust-app.c b/ltt-sessiond/ust-app.c index 6bdd04bd8..489bd8b2f 100644 --- a/ltt-sessiond/ust-app.c +++ b/ltt-sessiond/ust-app.c @@ -569,7 +569,7 @@ int ust_app_add_event(struct ltt_ust_session *usess, struct ust_app_channel *ua_chan; struct ust_app_event *ua_event; struct lttng_ust_event ltt_uevent; - struct object_data *obj_event; + struct lttng_ust_object_data *obj_event; DBG2("UST app adding event %s to global domain for session uid %d", uevent->attr.name, usess->uid); diff --git a/ltt-sessiond/ust-app.h b/ltt-sessiond/ust-app.h index fe6ac8418..46fb65427 100644 --- a/ltt-sessiond/ust-app.h +++ b/ltt-sessiond/ust-app.h @@ -53,7 +53,7 @@ struct ust_app_key { struct ust_app_event { int enabled; int handle; - struct object_data *obj; + struct lttng_ust_object_data *obj; char name[LTTNG_UST_SYM_NAME_LEN]; struct cds_lfht *ctx; struct cds_lfht_node node; @@ -64,7 +64,7 @@ struct ust_app_channel { int handle; char name[LTTNG_UST_SYM_NAME_LEN]; struct lttng_ust_channel attr; - struct object_data *obj; + struct lttng_ust_object_data *obj; struct cds_lfht *streams; struct cds_lfht *ctx; struct cds_lfht *events; @@ -76,7 +76,7 @@ struct ust_app_session { int handle; /* Used has unique identifier */ unsigned int uid; struct ltt_ust_metadata *metadata; - struct object_data *obj; + struct lttng_ust_object_data *obj; struct cds_lfht *channels; /* Registered channels */ struct cds_lfht_node node; }; -- 2.34.1