linux_dsm_epyc7002/arch/powerpc
Anton Blanchard cc1adb5f32 powerpc/pseries: Use jump labels for hcall tracepoints
hcall tracepoints add quite a few instructions to our hcall path:

plpar_hcall:
	mr      r2,r2
	mfcr    r0
	stw     r0,8(r1)
	b       164		<---- start
	ld      r12,0(r2)
	std     r12,32(r1)
	cmpdi   r12,0
	beq     164		<---- end
...

We have an unconditional branch that gets noped out during boot and
a load/compare/branch. We also store the tracepoint value to the
stack for the hcall_exit path to use.

By using jump labels we can simplify this to just a single nop that
gets replaced with a branch when the tracepoint is enabled:

plpar_hcall:
	mr      r2,r2
	mfcr    r0
	stw     r0,8(r1)
	nop			<----
...

If jump labels are not enabled, we fall back to the old method.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2014-07-11 16:05:58 +10:00
..
boot powerpc/fsl-booke: Add initial T208x QDS board support 2014-07-02 17:33:09 -05:00
configs powerpc/defconfig: update RTC support 2014-06-20 18:48:32 -05:00
crypto powerpc: Fix compile of sha1-powerpc-asm.S on 32-bit 2013-03-05 16:56:26 +11:00
include powerpc/pseries: Use jump labels for hcall tracepoints 2014-07-11 16:05:58 +10:00
kernel Merge branch 'merge' into next 2014-07-11 15:38:12 +10:00
kvm powerpc/kvm: Remove redundant save of SIER AND MMCR2 2014-07-11 12:55:07 +10:00
lib powerpc: fix typo 'CONFIG_PPC_CPU' 2014-06-11 17:04:25 +10:00
math-emu powerpc: Correct emulated mtfsf instruction 2014-04-07 10:33:11 +10:00
mm Merge branch 'merge' into next 2014-07-11 15:38:12 +10:00
net net: filter: get rid of BPF_S_* enum 2014-06-01 22:16:58 -07:00
oprofile cpufreq: remove unused notifier: CPUFREQ_{SUSPENDCHANGE|RESUMECHANGE} 2014-03-19 14:10:24 +01:00
perf powerpc/perf: Never program book3s PMCs with values >= 0x80000000 2014-07-11 13:50:47 +10:00
platforms powerpc/pseries: Use jump labels for hcall tracepoints 2014-07-11 16:05:58 +10:00
sysdev Merge branch 'merge' into next 2014-07-11 15:38:12 +10:00
xmon powerpc/xmon: avoid format string leaking to printk 2014-06-11 17:04:03 +10:00
Kconfig powerpc: Disable RELOCATABLE for COMPILE_TEST with PPC64 2014-07-11 12:55:09 +10:00
Kconfig.debug powerpc/powernv: Remove OPAL v1 takeover 2014-06-25 13:10:47 +10:00
Makefile Merge branch 'merge' into next 2014-05-28 13:30:12 +10:00
relocs_check.pl Fix warning typo "CONFIG_RELCOATABLE" 2013-05-29 15:11:30 +02:00