[ltt-dev] LTTng 0.57 fixes tracing > 4GB of data on 32-bits

Mathieu Desnoyers compudj at krystal.dyndns.org
Fri Nov 21 17:35:59 EST 2008


A bug has been introduced in the LTTng formal verification fix patch
lately, which was causing the overflow of the write counter and the
overflow of the commit count to cause a comparison mismatch because more
high order bits are kept for the commit count that for the write offset,
given the write offset is right shifted to remove the subbuffer index.

LTTng fixes that by using a commit_count_mask set to only keep the bits
that corresponds to the write offset bits. The problem has been
discovered by discussing about further formal verification analysis of
LTTng buffering mechanism with Nicolas Gorse. I reproduced the problem
on a 32-bits test machine and verified that this fix actually solves the
problem.

The two patches, for locked and lockless algos, are available here :

http://git.kernel.org/?p=linux/kernel/git/compudj/linux-2.6-lttng.git;a=commit;h=fb06b702a8f9972aa056b7a561fcadfacc7f04ad
http://git.kernel.org/?p=linux/kernel/git/compudj/linux-2.6-lttng.git;a=commit;h=f258b743e52c4d5e05a69f72d1fd0abb66d8cc99

Mathieu

-- 
Mathieu Desnoyers
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F  BA06 3F25 A8FE 3BAE 9A68




More information about the lttng-dev mailing list