Re: [PATCH v5 1/3] tracing,x86: Add a TSC trace_clock

2012-10-11 Thread David Sharp
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

2012-10-11 Thread David Sharp
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

2012-10-08 Thread Yoshihiro YUNOMAE
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

2012-10-08 Thread Yoshihiro YUNOMAE
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

2012-10-01 Thread David Sharp
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

2012-10-01 Thread David Sharp
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