powerpc: tracing: Add hypervisor call tracepoints
authorAnton Blanchard <anton@samba.org>
Mon, 26 Oct 2009 18:50:29 +0000 (18:50 +0000)
committerPaul Mackerras <paulus@samba.org>
Wed, 28 Oct 2009 05:13:04 +0000 (16:13 +1100)
commitc8cd093a6e9f96ea6b871576fd4e46d7c818bb89
tree2bad2c3a2cc68a35fb93d986a49bf543efcd0156
parent6795b85c6a4f690e61e7be31aa150d945c723fb5
powerpc: tracing: Add hypervisor call tracepoints

Add hcall_entry and hcall_exit tracepoints.  This replaces the inline
assembly HCALL_STATS code and converts it to use the new tracepoints.

To keep the disabled case as quick as possible, we embed a status word
in the TOC so we can get at it with a single load.  By doing so we
keep the overhead at a minimum.  Time taken for a null hcall:

No tracepoint code: 135.79 cycles
Disabled tracepoints: 137.95 cycles

For reference, before this patch enabling HCALL_STATS resulted in a null
hcall of 201.44 cycles!

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/powerpc/Kconfig.debug
arch/powerpc/include/asm/hvcall.h
arch/powerpc/include/asm/trace.h
arch/powerpc/platforms/pseries/hvCall.S
arch/powerpc/platforms/pseries/hvCall_inst.c
arch/powerpc/platforms/pseries/lpar.c