Skip to content

RFC Trace Clock v2

Mathieu Desnoyers linux-arch linux-sh lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 RFC Latest18 patches 72 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/18get_cycles() : kconfig HAVE_GET_CYCLESinit/Kconfig+10 -00 replies
2/18get_cycles() : x86 HAVE_GET_CYCLESarch/x86/Kconfig arch/x86/include/asm/tsc.h+13 -00 replies
3/18get_cycles() : sparc64 HAVE_GET_CYCLESarch/sparc/include/asm/timex_64.h arch/sparc64/Kconfig arch/sparc64/kernel/time.c+21 -20 replies
4/18get_cycles() : powerpc64 HAVE_GET_CYCLESarch/powerpc/Kconfig arch/powerpc/include/asm/timex.h+12 -02 replies
5/18get_cycles() : MIPS HAVE_GET_CYCLES_32arch/mips/Kconfig arch/mips/include/asm/timex.h+29 -00 replies
6/18Trace clock genericinclude/asm-generic/trace-clock.h include/linux/trace-clock.h kernel/timer.c+88 -00 replies
7/18Trace clock coreinit/Kconfig kernel/Makefile kernel/trace/Makefile +1 more+302 -26 replies
8/18cnt32_to_63 should use smp_rmb()include/linux/cnt32_to_63.h+6 -188 replies
9/18Powerpc : Trace clockarch/powerpc/Kconfig arch/powerpc/include/asm/trace-clock.h+51 -00 replies
10/18Sparc64 : Trace clockarch/sparc/include/asm/trace-clock.h arch/sparc64/Kconfig+47 -01 reply
11/18LTTng timestamp sharch/sh/Kconfig arch/sh/include/asm/timex.h arch/sh/include/asm/trace-clock.h+68 -20 replies
12/18LTTng - TSC synchronicity testDocumentation/kernel-parameters.txt init/Kconfig kernel/time/Makefile +1 more+325 -00 replies
13/18x86 : remove arch-specific tsc_sync.carch/x86/Kconfig arch/x86/include/asm/tsc.h arch/x86/kernel/Makefile +1 more+12 -1920 replies
14/18MIPS use tsc_sync.carch/mips/include/asm/timex.h arch/mips/kernel/smp.c+27 -00 replies
15/18MIPS : export hpt frequency for trace_clock.arch/mips/include/asm/timex.h arch/mips/kernel/time.c+3 -00 replies
16/18MIPS create empty sync_core()arch/mips/include/asm/barrier.h+6 -00 replies
17/18MIPS : Trace clockarch/mips/Kconfig arch/mips/include/asm/timex.h arch/mips/include/asm/trace-clock.h +2 more+261 -12 replies
18/18x86 trace clockarch/x86/Kconfig arch/x86/include/asm/trace-clock.h arch/x86/kernel/Makefile +1 more+323 -00 replies

Reviews trailers per patch

2 of 18 patches have a Reviewed-by or Acked-by.

PatchDavid S. Miller
1/18
2/18
3/18A-b
4/18
5/18
6/18
7/18
8/18
9/18
10/18A-b
11/18
12/18
13/18
14/18
15/18
16/18
17/18
18/18

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [RFC patch 00/18] Trace Clock v2

Hi,

I've cleaned up the LTTng timestamping code, renamed it into "trace clock", ripped apart the tsc_sync.c x86 code, added documentation (printk to the console when the tracing clock is used) about what to do when an unsync TSC is detected. I however kept the cache-line bouncing workaround for now. However, I now synchronize the counters every jiffy with a per-cpu timer so it gives an upper bound to the time imprecision.

The trace clock works with a trace_clock_get()/put(), so all the mechanic and overhead that might be required to provide correct timestamps on weird systems is *only* enabled when tracing is active.

I plan to stick to this simple solution for now so we can get reliable tracing for 95ish% of systems out there, and to keep room for improvement (nice NTP-like schemes) for a later version. (sadly, given this is actually v2, I cannot say "let's keep that for v2") ;)

This patchset applies on top of 2.6.28-rc3.

Mathieu

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