From mboxrd@z Thu Jan 1 00:00:00 1970 From: mathieu.desnoyers@efficios.com (Mathieu Desnoyers) Date: Wed, 20 Nov 2013 15:42:02 +0000 (UTC) Subject: [lttng-dev] Overwrite mode, lost events, and reader behaviour In-Reply-To: <48CF5AC71E61DB46B70D0F388054EFFD267A2D69@VAL-E-01.valcartier.drdc-rddc.gc.ca> References: <48CF5AC71E61DB46B70D0F388054EFFD267A2924@VAL-E-01.valcartier.drdc-rddc.gc.ca> <1552475027.71330.1384958632444.JavaMail.zimbra@efficios.com> <48CF5AC71E61DB46B70D0F388054EFFD267A2D69@VAL-E-01.valcartier.drdc-rddc.gc.ca> Message-ID: <1714397637.71404.1384962122849.JavaMail.zimbra@efficios.com> ----- Original Message ----- > From: "Daniel Thibault" > To: "Mathieu Desnoyers" > Cc: lttng-dev at lists.lttng.org > Sent: Wednesday, November 20, 2013 10:38:28 AM > Subject: RE: [lttng-dev] Overwrite mode, lost events, and reader behaviour > > -----Message d'origine----- > Envoy??: 20 novembre 2013 09:44 > > > We don't use the timestamps for this. Each packet has a sequence number > > given by the producer, and the reader is querying for packets by > > requesting sequence numbers > > (increasing by one each time). In the case you present here, the reader > > will try to query the sequence number of an overwritten packet, and will > > therefore not be able to get it. > > It will move on to the next packet until it finally finds the first packet > > which sequence number matches its current sequence number (or the writer > > position). > > So my original suggestion holds: performance could increase just a little > bit (on the reader side) if the reader's request > (lib_ring_buffer_get_subbuf, is it?) did not return -EAGAIN but rather > the current "earliest available sequence number" it should next ask for. > In the (presumably rare) case where the reader has been passed by the > writers by several sub-buffer sequence numbers' worth, this would allow > the reader to skip ahead to the next likely-to-succeed sequence number > request. Does this make sense? Skipping ahead like this could indeed be a good approach. We don't need to change get_subbuf() to do this though. When the consumer gets a -EAGAIN, it could use the snapshot feature to find the new consumer position. Same effect, no change needed in modules nor UST. Thanks, Mathieu > > Daniel U. Thibault > Protection des syst?mes et contremesures (PSC) | Systems Protection & > Countermeasures (SPC) > Cyber s?curit? pour les missions essentielles (CME) | Mission Critical Cyber > Security (MCCS) > R & D pour la d?fense Canada - Valcartier (RDDC Valcartier) | Defence R&D > Canada - Valcartier (DRDC Valcartier) > 2459 route de la Bravoure > Qu?bec QC G3J 1X5 > CANADA > Vox : (418) 844-4000 x4245 > Fax : (418) 844-4538 > NAC : 918V QSDJ > Gouvernement du Canada | Government of Canada > > -- Mathieu Desnoyers EfficiOS Inc. http://www.efficios.com