[lttng-dev] [RFC PATCH lttng-tools 10/18] Add serialized versions of lttng_event_context structs
Mathieu Desnoyers
mathieu.desnoyers at efficios.com
Thu Apr 18 15:41:58 EDT 2019
----- On Apr 18, 2019, at 12:18 PM, Yannick Lamarre ylamarre at efficios.com wrote:
> Serialized versions of lttng_event_context and lttng_event_perf_counter_ctx are
> packed structures to be used in communication protocols for consistent
> sizes across platforms. The serialized versions are stripped of pointers
> and padding.
>
> Pointers are removed since their size can vary on platforms supporting
> variable sized registers (x86-64).
Same question as prior commit about the explanation here.
> Padding is also removed since it defeats the purpose of a packed struct.
Same question as prior commit about padding purpose. How do we intend to
extend this in the future ? We should document this plan.
Thanks,
Mathieu
>
> Signed-off-by: Yannick Lamarre <ylamarre at efficios.com>
> ---
> include/lttng/event-internal.h | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> diff --git a/include/lttng/event-internal.h b/include/lttng/event-internal.h
> index f8130e3b..25a88448 100644
> --- a/include/lttng/event-internal.h
> +++ b/include/lttng/event-internal.h
> @@ -27,6 +27,17 @@
>
> struct lttng_userspace_probe_location;
>
> +struct lttng_event_perf_counter_ctx_serialized {
> + uint32_t type;
> + uint64_t config;
> + char name[LTTNG_SYMBOL_NAME_LEN];
> +} LTTNG_PACKED;
> +
> +struct lttng_event_context_serialized {
> + uint32_t ctx; /* enum lttng_event_context_type */
> + struct lttng_event_perf_counter_ctx_serialized perf_counter;
> +} LTTNG_PACKED;
> +
> struct lttng_event_extended {
> /*
> * exclusions and filter_expression are only set when the lttng_event
> --
> 2.11.0
>
> _______________________________________________
> lttng-dev mailing list
> lttng-dev at lists.lttng.org
> https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com
More information about the lttng-dev
mailing list