Use rseq for commit counter
[lttng-ust.git] / include / lttng / ringbuffer-config.h
index 9ed9a34d34125a8b7bb8fc360768da1eedcafa64..2d9f73c697647341c478d32981d8b1ad27336161 100644 (file)
@@ -216,6 +216,13 @@ struct lttng_ust_lib_ring_buffer_config {
        char padding[LTTNG_UST_RING_BUFFER_CONFIG_PADDING];
 };
 
+/* State returned by rseq_start, passed as argument to rseq_finish. */
+struct lttng_rseq_state {
+       volatile struct rseq *rseqp;
+       int32_t cpu_id;         /* cpu_id at start. */
+       uint32_t event_counter; /* event_counter at start. */
+};
+
 /*
  * ring buffer context
  *
@@ -272,6 +279,7 @@ struct lttng_ust_lib_ring_buffer_ctx {
         * following fields may be used.
         */
        struct lttng_ust_lib_ring_buffer_backend_pages *backend_pages;
+       struct lttng_rseq_state rseq_state;
 };
 
 /**
@@ -307,6 +315,9 @@ void lib_ring_buffer_ctx_init(struct lttng_ust_lib_ring_buffer_ctx *ctx,
        ctx->ip = 0;
        ctx->priv2 = priv2;
        memset(ctx->padding2, 0, LTTNG_UST_RING_BUFFER_CTX_PADDING);
+       ctx->rseq_state.rseqp = NULL;
+       ctx->rseq_state.cpu_id = -1;
+       ctx->rseq_state.event_counter = 0;
 }
 
 /*
This page took 0.026984 seconds and 5 git commands to generate.