X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=ustd%2Flowlevel.c;h=4c179c5cbe1317b71b6724f276fcd920cdee4ac8;hb=73513f95e93472d2ffba4c2e42cf550117ef1059;hp=65657490d6044d13ce3aa31aa1797d7637aab3ef;hpb=54b7447337f23516c8249065a459372b4fdd9326;p=lttng-ust.git diff --git a/ustd/lowlevel.c b/ustd/lowlevel.c index 65657490..4c179c5c 100644 --- a/ustd/lowlevel.c +++ b/ustd/lowlevel.c @@ -70,9 +70,9 @@ void finish_consuming_dead_subbuffer(struct buffer_info *buf) 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. */ @@ -112,12 +112,15 @@ void finish_consuming_dead_subbuffer(struct buffer_info *buf) } /* Check if subbuf was fully written. This is from Mathieu's algorithm/paper. */ + /* FIXME: not sure data_size = 0xffffffff when the buffer is not full. It might + * take the value of the header size initially */ if (((commit_seq - buf->subbuf_size) & commit_seq_mask) - (USTD_BUFFER_TRUNC(consumed_offset, buf) >> n_subbufs_order) == 0 && header->data_size != 0xffffffff && header->sb_size != 0xffffffff) { /* 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 @@ -126,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));