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

Fixes #354

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

index 168c3b26b9d62d5195449550f06cc2fcdddd29a5..97efe42d4329d59cfe7bd3a7c6184977fa8a8ea7 100644 (file)
@@ -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"
                );
index cf2645a5912361ba23ec206114690f315ddba46c..47059b4577ce32875c67f45c5329b275555e66d4 100644 (file)
@@ -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;
 }
 
This page took 0.027262 seconds and 4 git commands to generate.