X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=libust%2Fbuffers.c;h=02eaec61b03defe0995c525b407bbc023ea1c4ef;hb=bb9cf413195ca3a68c07059e95df1c50127d5824;hp=c644cfb72ad2ddc50e6fa324d3a17082cf8ed61b;hpb=e17571a59eef2b054c7432f6cba10c2cb467a182;p=lttng-ust.git diff --git a/libust/buffers.c b/libust/buffers.c index c644cfb7..02eaec61 100644 --- a/libust/buffers.c +++ b/libust/buffers.c @@ -307,8 +307,9 @@ static void ltt_buffer_begin(struct ust_buffer *buf, subbuf_idx * buf->chan->subbuf_size); header->cycle_count_begin = tsc; - header->lost_size = 0xFFFFFFFF; /* for debugging */ - header->buf_size = buf->chan->subbuf_size; + header->data_size = 0xFFFFFFFF; /* for recognizing crashed buffers */ + header->sb_size = 0xFFFFFFFF; /* for recognizing crashed buffers */ + /* FIXME: add memory barrier? */ ltt_write_trace_header(channel->trace, header); } @@ -323,9 +324,10 @@ static notrace void ltt_buffer_end(struct ust_buffer *buf, (struct ltt_subbuffer_header *) ust_buffers_offset_address(buf, subbuf_idx * buf->chan->subbuf_size); + u32 data_size = SUBBUF_OFFSET(offset - 1, buf->chan) + 1; - header->lost_size = SUBBUF_OFFSET((buf->chan->subbuf_size - offset), - buf->chan); + header->data_size = data_size; + header->sb_size = PAGE_ALIGN(data_size); header->cycle_count_end = tsc; header->events_lost = local_read(&buf->events_lost); header->subbuf_corrupt = local_read(&buf->corrupted_subbuffers); @@ -1519,6 +1521,7 @@ void ltt_force_switch_lockless_slow(struct ust_buffer *buf, offsets.size = 0; + DBG("Switching (forced) %s_%d", chan->channel_name, buf->cpu); /* * Perform retryable operations. */ @@ -1736,6 +1739,7 @@ int ltt_reserve_slot_lockless_slow(struct ust_trace *trace, if (unlikely(offsets.end_switch_old)) { //ust// ltt_clear_noref_flag(chan, buf, SUBBUF_INDEX(offsets.old - 1, chan)); ltt_reserve_switch_old_subbuf(chan, buf, &offsets, tsc); + DBG("Switching %s_%d", chan->channel_name, cpu); } /*