X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=ustd%2Flowlevel.c;h=57a9f6631c1ba53ce035a17237a4718b2e7bd802;hb=b102c2b0b07a155285716d9f7fd788662cecd54b;hp=a79b494bc547a3576f11d7ae4df67e569c191372;hpb=14e859d8ecbbed251380ec1c973c31cf9245b047;p=ust.git diff --git a/ustd/lowlevel.c b/ustd/lowlevel.c index a79b494..57a9f66 100644 --- a/ustd/lowlevel.c +++ b/ustd/lowlevel.c @@ -65,14 +65,14 @@ void finish_consuming_dead_subbuffer(struct buffer_info *buf) { struct ust_buffer *ustbuf = buf->bufstruct_mem; - long write_offset = local_read(&ustbuf->offset); - long consumed_offset = atomic_long_read(&ustbuf->consumed); + long write_offset = uatomic_read(&ustbuf->offset); + long consumed_offset = uatomic_read(&ustbuf->consumed); long i_subbuf; - DBG("processing died buffer"); - DBG("consumed offset is %ld", consumed_offset); - DBG("write offset is %ld", write_offset); + DBG("processing dead buffer (%s)", buf->name); + DBG("consumed offset is %ld (%s)", consumed_offset, buf->name); + DBG("write offset is %ld (%s)", write_offset, buf->name); /* First subbuf that we need to consume now. It is not modulo'd. * Consumed_offset is the next byte to consume. */ @@ -95,7 +95,7 @@ void finish_consuming_dead_subbuffer(struct buffer_info *buf) void *tmp; /* commit_seq is the offset in the buffer of the end of the last sequential commit. * Bytes beyond this limit cannot be recovered. This is a free-running counter. */ - long commit_seq = local_read(&ustbuf->commit_seq[i_subbuf]); + long commit_seq = uatomic_read(&ustbuf->commit_seq[i_subbuf]); unsigned long valid_length = buf->subbuf_size; long n_subbufs_order = get_count_order(buf->n_subbufs); @@ -120,6 +120,7 @@ void finish_consuming_dead_subbuffer(struct buffer_info *buf) /* If it was, we only check the data_size. This is the amount of valid data at * the beginning of the subbuffer. */ valid_length = header->data_size; + DBG("writing full subbuffer (%d) with valid_length = %ld", i_subbuf, valid_length); } else { /* If the subbuffer was not fully written, then we don't check data_size because @@ -128,6 +129,7 @@ void finish_consuming_dead_subbuffer(struct buffer_info *buf) */ valid_length = commit_seq & (buf->subbuf_size-1); + DBG("writing unfull subbuffer (%d) with valid_length = %ld", i_subbuf, valid_length); header->data_size = valid_length; header->sb_size = PAGE_ALIGN(valid_length); assert(i_subbuf == (last_subbuf % buf->n_subbufs));