On Tue, Oct 16, 2012 at 12:33 PM, wilson self <wsel...@gmail.com> wrote: > current_clocksource is tsc. > > the entire source of the test application: > --- > #include <stdio.h> > #include <stdlib.h> > #include <sys/time.h> > #include <time.h> > > int main() { > struct timeval tim; > gettimeofday(&tim, NULL); > printf("%.6lf seconds\n", tim.tv_sec+tim.tv_usec/1000000.0); > } > --- > nothing fancy going on here. > > thanks for the help.
There's lots of hidden fanciness. What glibc version are you using and how are you linking to glibc? All but the newest glibc versions use the old vsyscall when statically linked. The newest versions use the syscall instead. If you're dynamically linking, then gettimeofday should be okay even with fairly old glibc versions. (FWIW, glibc maintainership has changed since this was decided. Feel free to bug the new maintainers if you care about statically-linked performance. The only other runtime library I know of that uses the vdso or vsyscalls is Go, and the newest versions do the right thing.) --Andy -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/