On 13-09-26 04:06 PM, Thibault, Daniel wrote:
> Envoyé : 26 septembre 2013 15:55
> 
>>>    If the tracers pass the consumer, and then the consumer passes the 
>>> tracers, does the consumer stop copying the buffer contents to the snapshot 
>>> trace?
>>>
>>> * consumer reads a number of "pass n" sub-buffers (where n is the number of 
>>> times the tracers have gone around)
>>> * tracers catch up with the consumer, skip ahead, write at least one whole 
>>> "pass n+1" sub-buffer
>>> * tracers then stop or slow down
>>> * consumer reads the "pass n+1" sub-buffer(s), then overtakes the tracers
>>> * consumer skips over the sub-buffer where the tracers are, finds a "pass 
>>> n" sub-buffer
>>>
>>>    If the consumer doesn't close the trace at that point, it would corrupt 
>>> the snapshot.
>>
>> The consumer reads absolute positions in the ring-buffer, if a subbuffer has 
>> been overwritten, it skips to the next until it reaches its end position.
>> The consumer will never read data that has been recorded after it started 
>> taking the snapshot.
>> That is why it is important to know that we deal with absolute positions.
>>
>> Is that clearer ?
>>
>> If you want to take a look, the code for the kernel is in the function 
>> lttng_kconsumer_snapshot_channel in 
>> src/common/kernel-consumer/kernel-consumer.c.
>> You will see that we take the begin and end positions, and then iterate 
>> subbuffer by subbuffer, if a get_subbuff(absolute_position) fails it means 
>> it has already been reused and we > skip to the next.
>>
>> Julien
> 
>    I think I get it now: the consumer skips the "pass n+1" sub-buffers and 
> reads only the "pass n" sub-buffers it encounters during its sweep.  Thanks!
Yes, exactly :-) !

Julien

> 
> 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 <http://www.travelgis.com/map.asp?addr=918V%20QSDJ>
> Gouvernement du Canada | Government of Canada
> <http://www.valcartier.drdc-rddc.gc.ca/>
> 

_______________________________________________
lttng-dev mailing list
[email protected]
http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev

Reply via email to