[ltt-dev] [UST] BUG Ubuntu <= Karmic

David Goulet david.goulet at polymtl.ca
Thu Sep 16 17:59:38 EDT 2010


Hi everyone,

A very _major_ bug, to say the least, was discover this afternoon in 
Ubuntu Karmic and below. The clock_gettime and gettimeofday function are 
syscalls and not VDSO as it suppose to be.

This makes UST go impressively slower because at each tracing event, you 
got a syscall in the fast path. We got at 2 times factor (per event 
speed) on Karmic and 5 times on Hardy.

We are currently waiting for feedback from Debian and Ubuntu to explain 
this changes in the glibc API. (If anybody knows why, please feel free 
to explain it on this list).

Here is a simple test to see if clock_gettime is in fact a syscall on 
your distribution (we've only tested Ubuntu distro) :

$ vim test.c

#include <sys/time.h>
#include <time.h>

int main(int argc, char **argv) {
	struct timespec ts;
	clock_gettime(CLOCK_MONOTONIC, &ts);
	return 0;
}

$ gcc -lrt test.c -o test
$ strace ./test

If you see this line in the strace output :
clock_gettime(CLOCK_MONOTONIC, ...)

it's a problem.

Thanks to all
-- 
David Goulet
LTTng project, DORSAL Lab.

PGP/GPG : 1024D/16BD8563
BE3C 672B 9331 9796 291A  14C6 4AF7 C14B 16BD 8563




More information about the lttng-dev mailing list