From: Mathieu Desnoyers Date: Fri, 28 Sep 2012 00:04:02 +0000 (-0400) Subject: Use uint64_t for packet header content size and packet size X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=576ca06ac9368bd0901c6ff9cb1aad0cb36306cc;p=deliverable%2Flttng-modules.git Use uint64_t for packet header content size and packet size Allow packets larger than 256MB (4GB / 8 bits per byte). Fixes #354 Signed-off-by: Mathieu Desnoyers --- diff --git a/lttng-events.c b/lttng-events.c index 168c3b26..97efe42d 100644 --- a/lttng-events.c +++ b/lttng-events.c @@ -816,9 +816,9 @@ int _lttng_stream_packet_context_declare(struct lttng_session *session) "struct packet_context {\n" " uint64_clock_monotonic_t timestamp_begin;\n" " uint64_clock_monotonic_t timestamp_end;\n" + " uint64_t content_size;\n" + " uint64_t packet_size;\n" " unsigned long events_discarded;\n" - " uint32_t content_size;\n" - " uint32_t packet_size;\n" " uint32_t cpu_id;\n" "};\n\n" ); diff --git a/lttng-ring-buffer-client.h b/lttng-ring-buffer-client.h index cf2645a5..47059b45 100644 --- a/lttng-ring-buffer-client.h +++ b/lttng-ring-buffer-client.h @@ -60,13 +60,13 @@ struct packet_header { /* Stream packet context */ uint64_t timestamp_begin; /* Cycle count at subbuffer start */ uint64_t timestamp_end; /* Cycle count at subbuffer end */ + uint64_t content_size; /* Size of data in subbuffer */ + uint64_t packet_size; /* Subbuffer size (include padding) */ unsigned long events_discarded; /* * Events lost in this subbuffer since * the beginning of the trace. * (may overflow) */ - uint32_t content_size; /* Size of data in subbuffer */ - uint32_t packet_size; /* Subbuffer size (include padding) */ uint32_t cpu_id; /* CPU id associated with stream */ uint8_t header_end; /* End of header */ } ctx; @@ -349,9 +349,9 @@ static void client_buffer_begin(struct lib_ring_buffer *buf, u64 tsc, header->stream_id = lttng_chan->id; header->ctx.timestamp_begin = tsc; header->ctx.timestamp_end = 0; + header->ctx.content_size = ~0ULL; /* for debugging */ + header->ctx.packet_size = ~0ULL; header->ctx.events_discarded = 0; - header->ctx.content_size = 0xFFFFFFFF; /* for debugging */ - header->ctx.packet_size = 0xFFFFFFFF; header->ctx.cpu_id = buf->backend.cpu; }