All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v1 0/5] mips-specific ftrace support
@ 2009-05-28 20:46 wuzhangjin
  0 siblings, 0 replies; only message in thread
From: wuzhangjin @ 2009-05-28 20:46 UTC (permalink / raw)
  To: linux-mips, linux-kernel
  Cc: Wu Zhangjin, Steven Rostedt, Ralf Baechle, Ingo Molnar,
	Andrew Morton, Thomas Gleixner, Nicholas Mc Guire

From: Wu Zhangjin <wuzj@lemote.com>

ftrace is a mcount based kernel tracing tool/framework, which is originally
from RT_PREEMPT(http://rt.wiki.kernel.org).

ftrace is short for function tracer, this is its original name, but now, it
becomes a kernel tracing framework, lots of kernel tracers are built on it,
such as irqoff tracer, wakeup tracer and so forth.  these tracers are
arch-independent(?), but some of them are arch-dependent, such as the original
ftrace: function tracer, and dynamic function tracer, function graph tracer,
and also, system call tracer.

here is the mips porting of these four arch-dependent tracers, it will enable
the following new kernel config options in linux-mips system.

kernel hacking --->
           Tracers -->
                [*] Kernel Function Tracer
                [*]   Kernel Function Graph Tracer
                ...
                [*] Trace syscalls
				...
                [*] enable/disable ftrace tracepoints dynamically

in reality, because the high-precise timestamp getting function are
arch-dependent, lots of the tracers are arch-dependent. the arch-dependent part
is that: sched_clock, or we say ring_buffer_time_stamp or trace_clock_local
function. to get high-precise timestamp, we can read the MIPS clock counter,
but since it is only 32bit long, so, overflow should be handled carefully.

read the following document, and play with it:
        Documentation/trace/ftrace.txt

Wu Zhangjin (5):
  mips static function tracer support
  mips dynamic function tracer support
  mips function graph tracer support
  mips specific clock function to get precise timestamp
  mips specific system call tracer

 arch/mips/Kconfig                   |    7 +
 arch/mips/Makefile                  |    2 +
 arch/mips/include/asm/ftrace.h      |   35 ++++-
 arch/mips/include/asm/ptrace.h      |    2 +
 arch/mips/include/asm/reg.h         |    5 +
 arch/mips/include/asm/syscall.h     |   84 ++++++++
 arch/mips/include/asm/thread_info.h |    5 +-
 arch/mips/kernel/Makefile           |   13 ++
 arch/mips/kernel/csrc-r4k.c         |    2 +-
 arch/mips/kernel/entry.S            |    2 +-
 arch/mips/kernel/ftrace.c           |  360 +++++++++++++++++++++++++++++++++++
 arch/mips/kernel/ftrace_clock.c     |   77 ++++++++
 arch/mips/kernel/mcount.S           |  185 ++++++++++++++++++
 arch/mips/kernel/mips_ksyms.c       |    5 +
 arch/mips/kernel/ptrace.c           |   14 ++-
 arch/mips/kernel/scall64-o32.S      |    2 +-
 arch/mips/kernel/vmlinux.lds.S      |    1 +
 kernel/trace/ring_buffer.c          |    3 +-
 kernel/trace/trace_clock.c          |    2 +-
 scripts/Makefile.build              |    1 +
 scripts/recordmcount.pl             |   32 +++-
 21 files changed, 824 insertions(+), 15 deletions(-)
 create mode 100644 arch/mips/include/asm/syscall.h
 create mode 100644 arch/mips/kernel/ftrace.c
 create mode 100644 arch/mips/kernel/ftrace_clock.c
 create mode 100644 arch/mips/kernel/mcount.S

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2009-05-28 20:46 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-05-28 20:46 [PATCH v1 0/5] mips-specific ftrace support wuzhangjin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.