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);
}
(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);
offsets.size = 0;
+ DBG("Switching (forced) %s_%d", chan->channel_name, buf->cpu);
/*
* Perform retryable operations.
*/
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);
}
/*