Use uint64_t for packet header content size and packet size
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Thu, 27 Sep 2012 23:59:43 +0000 (19:59 -0400)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Fri, 28 Sep 2012 00:01:51 +0000 (20:01 -0400)
Allow packets larger than 256MB (4GB / 8 bits per byte).

Fixes #353

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
liblttng-ust/ltt-events.c
liblttng-ust/ltt-ring-buffer-client.h

index 5d1475190d6ef82f49c418c52fa654ea2c070b29..32135c85c03e92e2e79557116abbc265157e3a67 100644 (file)
@@ -1034,9 +1034,9 @@ int _ltt_stream_packet_context_declare(struct ltt_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"
                );
index 0b6cd3e4536935f90bd183d006bdc6184cb4f95b..e47a508cb31abeb1bd6003f6e26bbc7fabb1e265 100644 (file)
@@ -51,13 +51,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;
@@ -342,9 +342,9 @@ static void client_buffer_begin(struct lttng_ust_lib_ring_buffer *buf, uint64_t
        header->stream_id = ltt_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;
 }
 
This page took 0.028344 seconds and 4 git commands to generate.