Re: [PATCH v5 1/3] tracing,x86: Add a TSC trace_clock
On Mon, Oct 8, 2012 at 7:08 PM, Yoshihiro YUNOMAE wrote: > Hi David, > > This is a nice patch set. > > I just have found something should be fixed, which related to > your work. I'll send it following this mail. > > Would you mind adding these patches as your patch series? Thanks for noticing the stats issue. Added them to my series. > > Thanks, > > Yoshihiro YUNOMAE > > (2012/10/02 12:31), David Sharp wrote: >> In order to promote interoperability between userspace tracers and ftrace, >> add a trace_clock that reports raw TSC values which will then be recorded >> in the ring buffer. Userspace tracers that also record TSCs are then on >> exactly the same time base as the kernel and events can be unambiguously >> interlaced. >> > > -- > Yoshihiro YUNOMAE > Software Platform Research Dept. Linux Technology Center > Hitachi, Ltd., Yokohama Research Laboratory > E-mail: yoshihiro.yunomae...@hitachi.com > > -- 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/
Re: [PATCH v5 1/3] tracing,x86: Add a TSC trace_clock
On Mon, Oct 8, 2012 at 7:08 PM, Yoshihiro YUNOMAE yoshihiro.yunomae...@hitachi.com wrote: Hi David, This is a nice patch set. I just have found something should be fixed, which related to your work. I'll send it following this mail. Would you mind adding these patches as your patch series? Thanks for noticing the stats issue. Added them to my series. Thanks, Yoshihiro YUNOMAE (2012/10/02 12:31), David Sharp wrote: In order to promote interoperability between userspace tracers and ftrace, add a trace_clock that reports raw TSC values which will then be recorded in the ring buffer. Userspace tracers that also record TSCs are then on exactly the same time base as the kernel and events can be unambiguously interlaced. -- Yoshihiro YUNOMAE Software Platform Research Dept. Linux Technology Center Hitachi, Ltd., Yokohama Research Laboratory E-mail: yoshihiro.yunomae...@hitachi.com -- 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/
Re: [PATCH v5 1/3] tracing,x86: Add a TSC trace_clock
Hi David, This is a nice patch set. I just have found something should be fixed, which related to your work. I'll send it following this mail. Would you mind adding these patches as your patch series? Thanks, Yoshihiro YUNOMAE (2012/10/02 12:31), David Sharp wrote: > In order to promote interoperability between userspace tracers and ftrace, > add a trace_clock that reports raw TSC values which will then be recorded > in the ring buffer. Userspace tracers that also record TSCs are then on > exactly the same time base as the kernel and events can be unambiguously > interlaced. > -- Yoshihiro YUNOMAE Software Platform Research Dept. Linux Technology Center Hitachi, Ltd., Yokohama Research Laboratory E-mail: yoshihiro.yunomae...@hitachi.com -- 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/
Re: [PATCH v5 1/3] tracing,x86: Add a TSC trace_clock
Hi David, This is a nice patch set. I just have found something should be fixed, which related to your work. I'll send it following this mail. Would you mind adding these patches as your patch series? Thanks, Yoshihiro YUNOMAE (2012/10/02 12:31), David Sharp wrote: In order to promote interoperability between userspace tracers and ftrace, add a trace_clock that reports raw TSC values which will then be recorded in the ring buffer. Userspace tracers that also record TSCs are then on exactly the same time base as the kernel and events can be unambiguously interlaced. -- Yoshihiro YUNOMAE Software Platform Research Dept. Linux Technology Center Hitachi, Ltd., Yokohama Research Laboratory E-mail: yoshihiro.yunomae...@hitachi.com -- 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/
[PATCH v5 1/3] tracing,x86: Add a TSC trace_clock
In order to promote interoperability between userspace tracers and ftrace, add a trace_clock that reports raw TSC values which will then be recorded in the ring buffer. Userspace tracers that also record TSCs are then on exactly the same time base as the kernel and events can be unambiguously interlaced. Tested: Enabled a tracepoint and the "tsc" trace_clock and saw very large timestamp values. v2: Move arch-specific bits out of generic code. v3: Rename "x86-tsc", cleanups Google-Bug-Id: 6980623 Signed-off-by: David Sharp Cc: Steven Rostedt Cc: Masami Hiramatsu Cc: Ingo Molnar Cc: Thomas Gleixner Cc: "H. Peter Anvin" Acked-by: Ingo Molnar --- arch/alpha/include/asm/trace_clock.h |6 ++ arch/arm/include/asm/trace_clock.h|6 ++ arch/avr32/include/asm/trace_clock.h |6 ++ arch/blackfin/include/asm/trace_clock.h |6 ++ arch/c6x/include/asm/trace_clock.h|6 ++ arch/cris/include/asm/trace_clock.h |6 ++ arch/frv/include/asm/trace_clock.h|6 ++ arch/h8300/include/asm/trace_clock.h |6 ++ arch/hexagon/include/asm/trace_clock.h|6 ++ arch/ia64/include/asm/trace_clock.h |6 ++ arch/m32r/include/asm/trace_clock.h |6 ++ arch/m68k/include/asm/trace_clock.h |6 ++ arch/microblaze/include/asm/trace_clock.h |6 ++ arch/mips/include/asm/trace_clock.h |6 ++ arch/mn10300/include/asm/trace_clock.h|6 ++ arch/openrisc/include/asm/trace_clock.h |6 ++ arch/parisc/include/asm/trace_clock.h |6 ++ arch/powerpc/include/asm/trace_clock.h|6 ++ arch/s390/include/asm/trace_clock.h |6 ++ arch/score/include/asm/trace_clock.h |6 ++ arch/sh/include/asm/trace_clock.h |6 ++ arch/sparc/include/asm/trace_clock.h |6 ++ arch/tile/include/asm/trace_clock.h |6 ++ arch/um/include/asm/trace_clock.h |6 ++ arch/unicore32/include/asm/trace_clock.h |6 ++ arch/x86/include/asm/trace_clock.h| 16 arch/x86/kernel/Makefile |1 + arch/x86/kernel/trace_clock.c | 21 + arch/xtensa/include/asm/trace_clock.h |6 ++ include/asm-generic/trace_clock.h | 16 include/linux/trace_clock.h |2 ++ kernel/trace/trace.c |1 + 32 files changed, 213 insertions(+), 0 deletions(-) create mode 100644 arch/alpha/include/asm/trace_clock.h create mode 100644 arch/arm/include/asm/trace_clock.h create mode 100644 arch/avr32/include/asm/trace_clock.h create mode 100644 arch/blackfin/include/asm/trace_clock.h create mode 100644 arch/c6x/include/asm/trace_clock.h create mode 100644 arch/cris/include/asm/trace_clock.h create mode 100644 arch/frv/include/asm/trace_clock.h create mode 100644 arch/h8300/include/asm/trace_clock.h create mode 100644 arch/hexagon/include/asm/trace_clock.h create mode 100644 arch/ia64/include/asm/trace_clock.h create mode 100644 arch/m32r/include/asm/trace_clock.h create mode 100644 arch/m68k/include/asm/trace_clock.h create mode 100644 arch/microblaze/include/asm/trace_clock.h create mode 100644 arch/mips/include/asm/trace_clock.h create mode 100644 arch/mn10300/include/asm/trace_clock.h create mode 100644 arch/openrisc/include/asm/trace_clock.h create mode 100644 arch/parisc/include/asm/trace_clock.h create mode 100644 arch/powerpc/include/asm/trace_clock.h create mode 100644 arch/s390/include/asm/trace_clock.h create mode 100644 arch/score/include/asm/trace_clock.h create mode 100644 arch/sh/include/asm/trace_clock.h create mode 100644 arch/sparc/include/asm/trace_clock.h create mode 100644 arch/tile/include/asm/trace_clock.h create mode 100644 arch/um/include/asm/trace_clock.h create mode 100644 arch/unicore32/include/asm/trace_clock.h create mode 100644 arch/x86/include/asm/trace_clock.h create mode 100644 arch/x86/kernel/trace_clock.c create mode 100644 arch/xtensa/include/asm/trace_clock.h create mode 100644 include/asm-generic/trace_clock.h diff --git a/arch/alpha/include/asm/trace_clock.h b/arch/alpha/include/asm/trace_clock.h new file mode 100644 index 000..f35fab8 --- /dev/null +++ b/arch/alpha/include/asm/trace_clock.h @@ -0,0 +1,6 @@ +#ifndef _ASM_TRACE_CLOCK_H +#define _ASM_TRACE_CLOCK_H + +#include + +#endif diff --git a/arch/arm/include/asm/trace_clock.h b/arch/arm/include/asm/trace_clock.h new file mode 100644 index 000..f35fab8 --- /dev/null +++ b/arch/arm/include/asm/trace_clock.h @@ -0,0 +1,6 @@ +#ifndef _ASM_TRACE_CLOCK_H +#define _ASM_TRACE_CLOCK_H + +#include + +#endif diff --git a/arch/avr32/include/asm/trace_clock.h b/arch/avr32/include/asm/trace_clock.h new file mode 100644 index 000..f35fab8 --- /dev/null +++ b/arch/avr32/include/asm/trace_clock.h @@ -0,0 +1,6 @@ +#ifndef
[PATCH v5 1/3] tracing,x86: Add a TSC trace_clock
In order to promote interoperability between userspace tracers and ftrace, add a trace_clock that reports raw TSC values which will then be recorded in the ring buffer. Userspace tracers that also record TSCs are then on exactly the same time base as the kernel and events can be unambiguously interlaced. Tested: Enabled a tracepoint and the tsc trace_clock and saw very large timestamp values. v2: Move arch-specific bits out of generic code. v3: Rename x86-tsc, cleanups Google-Bug-Id: 6980623 Signed-off-by: David Sharp dhsh...@google.com Cc: Steven Rostedt rost...@goodmis.org Cc: Masami Hiramatsu masami.hiramatsu...@hitachi.com Cc: Ingo Molnar mi...@kernel.org Cc: Thomas Gleixner t...@linutronix.de Cc: H. Peter Anvin h...@linux.intel.com Acked-by: Ingo Molnar mi...@kernel.org --- arch/alpha/include/asm/trace_clock.h |6 ++ arch/arm/include/asm/trace_clock.h|6 ++ arch/avr32/include/asm/trace_clock.h |6 ++ arch/blackfin/include/asm/trace_clock.h |6 ++ arch/c6x/include/asm/trace_clock.h|6 ++ arch/cris/include/asm/trace_clock.h |6 ++ arch/frv/include/asm/trace_clock.h|6 ++ arch/h8300/include/asm/trace_clock.h |6 ++ arch/hexagon/include/asm/trace_clock.h|6 ++ arch/ia64/include/asm/trace_clock.h |6 ++ arch/m32r/include/asm/trace_clock.h |6 ++ arch/m68k/include/asm/trace_clock.h |6 ++ arch/microblaze/include/asm/trace_clock.h |6 ++ arch/mips/include/asm/trace_clock.h |6 ++ arch/mn10300/include/asm/trace_clock.h|6 ++ arch/openrisc/include/asm/trace_clock.h |6 ++ arch/parisc/include/asm/trace_clock.h |6 ++ arch/powerpc/include/asm/trace_clock.h|6 ++ arch/s390/include/asm/trace_clock.h |6 ++ arch/score/include/asm/trace_clock.h |6 ++ arch/sh/include/asm/trace_clock.h |6 ++ arch/sparc/include/asm/trace_clock.h |6 ++ arch/tile/include/asm/trace_clock.h |6 ++ arch/um/include/asm/trace_clock.h |6 ++ arch/unicore32/include/asm/trace_clock.h |6 ++ arch/x86/include/asm/trace_clock.h| 16 arch/x86/kernel/Makefile |1 + arch/x86/kernel/trace_clock.c | 21 + arch/xtensa/include/asm/trace_clock.h |6 ++ include/asm-generic/trace_clock.h | 16 include/linux/trace_clock.h |2 ++ kernel/trace/trace.c |1 + 32 files changed, 213 insertions(+), 0 deletions(-) create mode 100644 arch/alpha/include/asm/trace_clock.h create mode 100644 arch/arm/include/asm/trace_clock.h create mode 100644 arch/avr32/include/asm/trace_clock.h create mode 100644 arch/blackfin/include/asm/trace_clock.h create mode 100644 arch/c6x/include/asm/trace_clock.h create mode 100644 arch/cris/include/asm/trace_clock.h create mode 100644 arch/frv/include/asm/trace_clock.h create mode 100644 arch/h8300/include/asm/trace_clock.h create mode 100644 arch/hexagon/include/asm/trace_clock.h create mode 100644 arch/ia64/include/asm/trace_clock.h create mode 100644 arch/m32r/include/asm/trace_clock.h create mode 100644 arch/m68k/include/asm/trace_clock.h create mode 100644 arch/microblaze/include/asm/trace_clock.h create mode 100644 arch/mips/include/asm/trace_clock.h create mode 100644 arch/mn10300/include/asm/trace_clock.h create mode 100644 arch/openrisc/include/asm/trace_clock.h create mode 100644 arch/parisc/include/asm/trace_clock.h create mode 100644 arch/powerpc/include/asm/trace_clock.h create mode 100644 arch/s390/include/asm/trace_clock.h create mode 100644 arch/score/include/asm/trace_clock.h create mode 100644 arch/sh/include/asm/trace_clock.h create mode 100644 arch/sparc/include/asm/trace_clock.h create mode 100644 arch/tile/include/asm/trace_clock.h create mode 100644 arch/um/include/asm/trace_clock.h create mode 100644 arch/unicore32/include/asm/trace_clock.h create mode 100644 arch/x86/include/asm/trace_clock.h create mode 100644 arch/x86/kernel/trace_clock.c create mode 100644 arch/xtensa/include/asm/trace_clock.h create mode 100644 include/asm-generic/trace_clock.h diff --git a/arch/alpha/include/asm/trace_clock.h b/arch/alpha/include/asm/trace_clock.h new file mode 100644 index 000..f35fab8 --- /dev/null +++ b/arch/alpha/include/asm/trace_clock.h @@ -0,0 +1,6 @@ +#ifndef _ASM_TRACE_CLOCK_H +#define _ASM_TRACE_CLOCK_H + +#include asm-generic/trace_clock.h + +#endif diff --git a/arch/arm/include/asm/trace_clock.h b/arch/arm/include/asm/trace_clock.h new file mode 100644 index 000..f35fab8 --- /dev/null +++ b/arch/arm/include/asm/trace_clock.h @@ -0,0 +1,6 @@ +#ifndef _ASM_TRACE_CLOCK_H +#define _ASM_TRACE_CLOCK_H + +#include asm-generic/trace_clock.h + +#endif diff --git