From mboxrd@z Thu Jan 1 00:00:00 1970 From: ali.akyurek.ext@siemens.com (Akyurek, Ali (EXT)) Date: Fri, 30 Jan 2009 15:27:44 +0100 Subject: [ltt-dev] lost events due to non consumed full buffers Message-ID: <1E65288790442545B413D69F2A8D27DE046A36E2@ERLD164A.ww004.siemens.net> Hi all, Below is a code snippet from ltt-relay.c of LTTng 0.9.10 running on the 2.6.22 kernel. I got approx. 70000 lost events during tracing. I've seen that the problem is non consumed full buffers, as i show with an arrow below. This problem occurs when my user space application initializes itself. What do you think about the problem of not consuming? What may cause this? Thanks. ----------------------------------------------------------------------- reserve_commit_diff = SUBBUF_OFFSET( buf->chan->subbuf_size - local_read( <t_buf->commit_count[ SUBBUF_INDEX(offset_begin, buf->chan)]), buf->chan); if (reserve_commit_diff == 0) { /* Next buffer not corrupted. */ if (!ltt_channel->overwrite && (SUBBUF_TRUNC(offset_begin, buf->chan) - SUBBUF_TRUNC( atomic_long_read(<t_buf->consumed), buf->chan)) >= rchan->alloc_size) { /* * We do not overwrite non consumed * buffers and we are full : event * is lost. */ /* printk("non_con_buf\n"); */ ==========> local_inc(<t_buf->events_lost); return NULL; } else { /* * next buffer not corrupted, we are * either in overwrite mode or the * buffer is not full. It's safe to * write in this new subbuffer. */ } } --------------------------------------------------------------------- Mit freundlichem Gruss / Best Regards Ali G?nhan Aky?rek evosoft